2

我想获取具有惰性获取类型注释的属性列表。我可以通过反思来做到这一点并事先阅读。但是我想知道是否有任何其他方法可以事先从ClassMetaDataor获取惰性属性列表PersitergetPropertyLaziness没有返回正确的结果,getLazyProperties 也是如此?

4

1 回答 1

2

getPropertyLaziness方法ClassMetadata应该返回正确的值。

你有没有尝试过这样的事情:

ClassMetadata meta = sessionFactory.getClassMetadata(entity.getClass());
String[] propertyNames = meta.getPropertyNames();
boolean[] propertyLaziness = meta.getPropertyLaziness();

for (int i = 0; i < propertyNames.length; i++) {
    String propertyName = propertyNames[i];

    // Check if the property fetch type is Lazy
    if (propertyLaziness[i]) {
        System.out.println("Property : " + propertyName + " fetch type is Lazy");
    }
}
于 2013-01-15T21:25:24.990 回答