Hibernate,isAssociationType?如何确定实体字段是否为关联?

时间:2014-08-09 12:43:54

标签: java spring hibernate java-ee

我希望创建一个条件查询,只有在它是一个联合时才能进行关联。

有很多类型,例如Date,Map,Set,int,Integer,Long等,这使得很难正确检查声明的字段是否为关联。

有没有一种简单的方法可以使用Hibernate找到它?

1 个答案:

答案 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
    }
}