hibernate 同一表映射多个类

2024年12月02日 20:35
有4个网友回答
网友(1):

Hibernate是允许一个类进行多次映射(但是要映射到不同的表),像你这种一张表对应不同的类,既然是不同的类,那么属性什么的肯定不一样,而Hibernate是通过反射机制根据配置文件把类中的属性与表的字段关联起来的。所以在查询简单属性的值的时候可能没问题,但是在查询其他与这个类关联起来的实例的时候可能会报空指针异常,主要你这么设计一张表对应不同的类,完全没有必要。

网友(2):

有经验的开发人员不会这么做。
如果这么做开发出来的都是费代码。
Hibernate作为orm产品,一个类对应一张表。实体操作可以由hibernate引擎本身转成sql。
关键问题是:hibernate的缓存,包括一级缓存和二级缓存。
缓存本身会缓存数据,对象交给hibernate进行缓存管理,才有transient ,persist & detached 这3个状态。
如果一张表映射为多个类,首先是设计的错误,而后是缓存的管理从而带来性能的弱化。

网友(3):

应该会有,你最好同一表映射一次就行。 完了采用一对多和多对一的关系来写

网友(4):

不会,调用都是根据包名来的