java – 如何在Hibernate中按实体类的属性属性进行过滤
发布时间:2020-12-15 02:07:54 所属栏目:Java 来源:网络整理
导读:我在 Java中使用Hibernate将类映射到数据库表.我有一个人员表,每个条目有很多宠物,每个宠物都有很多玩具. 我希望能够根据玩具的属性在我的DAO中过滤这些内容;例如,找到所有带有红色玩具的宠物的人,作为List Person.我该如何过滤? 人员类: @Entitypublic cl
我在
Java中使用Hibernate将类映射到数据库表.我有一个人员表,每个条目有很多宠物,每个宠物都有很多玩具.
我希望能够根据玩具的属性在我的DAO中过滤这些内容;例如,找到所有带有红色玩具的宠物的人,作为List< Person>.我该如何过滤? 人员类: @Entity public class Person { ... @OneToMany(mappedBy = "person") private List<Pet> pets; ... } 宠物类: @Entity public class Pet { ... @OneToMany(mappedBy = "pet") private List<Toy> toys; ... } 玩具类: @Entity public class Toy { ... private String colour; ... } 解决方法
在这种情况下,我不确定你的意思是’过滤器’,但你总是可以使用HQL.
例如: select p from Person p inner join p.pets as pets inner join pets.toys as toys where p.pets.size() > 0 and toys.color = 'red' 也许条件’p.pets.size()>由于内连接,0’在这里是冗余的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |