这是 this 的扩展问题。
除了 SQL,我如何使用 HQL 来完成同样的事情? (即找到所有具有黑色和白色但可能具有其他颜色的狗)
假设我的实体类如下所示:
public class Dog {
private Long id;
private Set<DogColor> colors;
private String name;
private String size;
...
}
public class DogColor {
private Long id;
private String color;
...
}
然后我希望我的 HQL 看起来像这样:
from dog where dog.colors contains ("black", "white")
显然这只是伪代码,因为dog.colors是一个对象而不是颜色字符串。
最佳答案
Select d from dog d join d.colors o where o.color in ("black","white")
当然,您需要设置正确的映射
关于java - HQL:查找子对象包含特定属性值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853059/