如果已经有一个问题可以解决这个问题,那么我可以找一个链接,因为我找不到。
我正在寻找存储在Hibernate数据库中的对象的存储类名。当我从外部查看数据库时,我看到存储了具有classname的字符串。如何在不构造对象的情况下检索类名?
提前谢谢。
编辑:不,我没有具体指定鉴别器;这些实际上是存储的子类。我只是想获取对象的实际子类。
答案 0 :(得分:1)
有几种方法,具体取决于实例映射到数据库格式的方式。在这两种情况下,第一步是获取包含映射配置的Configuration
Hibernate实例(请参阅the API docs)。
根对象为Configuration
,您寻找的信息可能由getTableMappings()
返回。您将不得不使用调试器和Hibernate源,并花一些时间来弄清楚一切是如何工作的。
如果您正在使用Spring,则必须找到一种方法来获取Configuration对象。最好的办法是在Configuration.buildSessionFactory()
中设置断点。这应该会给你一个想法。
答案 1 :(得分:0)
我在存储其类型的对象中创建了一个新字段。这是我用于解决方案的内容,但是我仍然喜欢如何访问鉴别器值的答案。