如何从Hibernate中检索类名?

时间:2009-08-05 13:57:29

标签: hibernate classname

如果已经有一个问题可以解决这个问题,那么我可以找一个链接,因为我找不到。

我正在寻找存储在Hibernate数据库中的对象的存储类名。当我从外部查看数据库时,我看到存储了具有classname的字符串。如何在不构造对象的情况下检索类名?

提前谢谢。

编辑:不,我没有具体指定鉴别器;这些实际上是存储的子类。我只是想获取对象的实际子类。

2 个答案:

答案 0 :(得分:1)

有几种方法,具体取决于实例映射到数据库格式的方式。在这两种情况下,第一步是获取包含映射配置的Configuration Hibernate实例(请参阅the API docs)。

根对象为Configuration,您寻找的信息可能由getTableMappings()返回。您将不得不使用调试器和Hibernate源,并花一些时间来弄清楚一切是如何工作的。

如果您正在使用Spring,则必须找到一种方法来获取Configuration对象。最好的办法是在Configuration.buildSessionFactory()中设置断点。这应该会给你一个想法。

答案 1 :(得分:0)

我在存储其类型的对象中创建了一个新字段。这是我用于解决方案的内容,但是我仍然喜欢如何访问鉴别器值的答案。