查看字段是否已映射

时间:2010-12-23 10:43:03

标签: java hibernate

是否可以检测是否已映射给定类的某个字段?

E.G。

我有对象;

MyObject {
   private MyOtherObject other
}

在映射文件中;

<many-to-one name="other" class="com.mypackage.MyOtherObject" lazy="false" />

现在是否可以在java中检测是否已映射其他?我知道我可以创建一个包含映射字段等的静态类。但我宁愿在运行中检测它。这可能吗?

2 个答案:

答案 0 :(得分:1)

如果您只想查看MyOtherObject是否已映射,您可以尝试从该类的SessionFactory获取ClassMetadata。如果它为null,则不会映射:

s.getSessionFactory().getClassMetadata(Bar.class);

答案 1 :(得分:0)

使用注释代替xml并使用反射动态获取注释。