【发布时间】:2014-08-09 12:43:53
【问题描述】:
我希望创建一个条件查询,仅当它是一个关联时才进行关联。
Date、Map、Set、int、Integer、Long 等类型太多,难以正确检查声明的字段是否为关联。
有没有一种简单的方法可以使用 Hibernate 来解决这个问题?
【问题讨论】:
标签: java spring hibernate jakarta-ee
我希望创建一个条件查询,仅当它是一个关联时才进行关联。
Date、Map、Set、int、Integer、Long 等类型太多,难以正确检查声明的字段是否为关联。
有没有一种简单的方法可以使用 Hibernate 来解决这个问题?
【问题讨论】:
标签: java spring hibernate jakarta-ee
是的,在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
}
}
【讨论】: