我希望创建一个条件查询,只有在它是一个联合时才能进行关联。
有很多类型,例如Date,Map,Set,int,Integer,Long等,这使得很难正确检查声明的字段是否为关联。
有没有一种简单的方法可以使用Hibernate找到它?
答案 0 :(得分:0)
是的,在org.hibernate.type.Type#isAssociationType()
例如
ClassMetadata cmd = sessionFactory.getClassMetadata(Hibernate.getClass(entity));
String[] propertyNames = cmd.getPropertyNames();
for (String name : propertyNames) {
if (cmd.getPropertyType(name).isAssociationType()) {
// association type
}
}