Tag: criteriaquery

有没有办法减少与CriteriaQuery相关的样板代码量(在JPA 2.0中)?

我喜欢类型安全CriteriaQuery带来的JPA 2.0,但它也带来了一些锅炉板代码。 例如,假设我有一个名为NamedEntity的实体,它只有一个id和一个名为“name”的String字段(假设它将唯一约束设置为true)。 以下是NamedEntityManager的外观: public class NamedEntityManager { //inject using your framework EntityManager entityManager; //retrieve all existing entities of type NamedEntity from DB public Iterable queryAll() { CriteriaBuilder builder = entityManager.getCriteriaBuilder(); CriteriaQuery query = builder.createQuery(NamedEntity.class); return entityManager.createQuery(query).getResultList(); } //retrieve a single entity of type NamedEntity from DB using specified name public NamedEntity queryByName(String name) { […]

Polymorphic CriteriaQuery没有反比关系

我有以下EJB结构。 不要怀疑Animal和Inventory ,这些类只是在这里以简化的方式演示结构( 更新 :我修改了类名以构造一个更好理解的例子IdTag另一个实现可能是BarcodeId )。 请注意, IdTag与Animal或Inventory之间没有反向关系,我们假设RfidTag.code是唯一的。 我阅读了使用Criteria Query和Hibernate多态查询 检索多态Hibernate对象 ,但这些讨论似乎没有回答我的问题。 public interface ItemWithIdTag { IdTag getIdTag(); void setIdTag(IdTag idTag); } @Entity public class Animal implements ItemWithIdTag,Serializable { @Id @GeneratedValue(strategy=GenerationType.AUTO) private long id; @OneToOne(cascade = CascadeType.ALL) private IdTag idTag; } @Entity public class Inventory implements ItemWithIdTag,Serializable { @Id @GeneratedValue(strategy=GenerationType.AUTO) private long id; @OneToOne(cascade = […]

jpa 2 hibernate limit(最大结果)到CriteriaQuery

也许这是一个愚蠢的问题,但我在文档中找不到答案:如何使用JPA2设置CriteriaQuery的限制? 谢谢