Hibernate (Java)
Version vom 30. Dezember 2018, 16:52 Uhr von Martin Kirner (Diskussion | Beiträge) (→Result Transformer)
Hibernate 2
Sub Query
ExtendedDetachedCriteria voucherCriteria = ExtendedDetachedCriteria.forClass(DocumentParameters.class);
voucherCriteria.setProjection(Projections.property("targetVoucherType"));
voucherCriteria.add(Restrictions.eq("client", client));
ExtendedDetachedCriteria invoiceCriteria = ExtendedDetachedCriteria.forClass(IncomingInvoice.class);
invoiceCriteria.add(Subqueries.propertyIn("voucherType", voucherCriteria));
Hibernate 5
Annotations
Links
https://howtodoinjava.com/hibernate/hibernate-jpa-2-persistence-annotations-tutorial
https://www.thoughts-on-java.org/mapping-definitions-jpa-hibernate-annotations-xml/
count result
CriteriaBuilder builder = sessionFactory.getCurrentSession().getCriteriaBuilder();
CriteriaQuery<Long> query = builder.createQuery(Long.class);
Root<Entity> root = query.from(Entity.class);
query.select(builder.count(root));
query.where(builder.and(builder.equal(root.get("status"), "A")));
return sessionFactory.getCurrentSession().createQuery(query).getSingleResult();
Object-Relational Mapping
Links
https://www.eclipse.org/webtools/dali/docs/3.2/user_guide/task_manage_orm.htm
https://www.eclipse.org/webtools/dali/docs/3.2/user_guide/concepts001.htm#CHDBIJAC
Projections
Result Transformer
in Hibernate 6 org.hibernate.query.Query.setResultTransformer() will be replaced by @FunctionalInterface:
See http://wiki.openbravo.com/wiki/Hibernate_5.3_Migration_Guide
Links
https://www.objectdb.com/java/jpa/query/jpql/select
Zurück zu Java