gpt4 book ai didi

java - hibernate 标准 : Joining table without a mapped association

转载 作者:IT老高 更新时间:2023-10-28 13:51:22 25 4
gpt4 key购买 nike

我想使用 Hibernate 的标准 api 来制定一个连接两个实体的特定查询。假设我有两个实体,Pet 和 Owner,一个拥有许多宠物的所有者,但至关重要的是,该关联没有映射到 Java 注释或 xml 中。

使用 hql,我可以通过在查询中指定联接来选择拥有名为“fido”的宠物的所有者(而不是将一组宠物添加到所有者类中)。

可以使用 hibernate 条件来完成相同的操作吗?如果有怎么办?

谢谢,J

最佳答案

这确实可以通过标准来实现:

DetachedCriteria ownerCriteria = DetachedCriteria.forClass(Owner.class);
ownerCriteria.setProjection(Property.forName("id"));
ownerCriteria.add(Restrictions.eq("ownername", "bob"));

Criteria criteria = getSession().createCriteria(Pet.class);
criteria.add(Property.forName("ownerId").in(ownerCriteria));

更新:这实际上执行子查询而不是连接,但它允许您在两个没有定义 hibernate 关系的实体上使用 Criteria。

关于java - hibernate 标准 : Joining table without a mapped association,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/720502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com