假设我的类型为 User
,其中包含带有属性 Name
的类 Tenant
的对象。
我想从数据库用户中选择,其租户包含给定名称。
在 Hibernate Criteria 中,我可以使用别名简单地实现此目标。
List cats = session.createCriteria(User.class)
.createAlias("tenant", "tenant")
.add(Restrictions.eqProperty("tenant.name", "sampleTenant") )
.list();
我如何使用 JPA Criteria 做同样的事情?
感谢您的帮助。
最佳答案
假设用户
与租户
处于一对一关系:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> cq = cb.createQuery(User.class);
Root<User> root = cq.from(User.class);
cq = cq.where(cb.equal(root.join("tenant").get("name"), "sampleTenant"));
em.createQuery(cq).getResultList();
关于java - JPA Criteria 类似于 Hibernate Criteria Alias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378519/