hibernate 同一表映射多个类
我用的Oracle数据库。hibernate3数据库中有14个表每个表都没映射了两次。也就是说每个表都对应两个不同的类。同一表被映射成多个不同的类会不会有问题?...
我用的Oracle数据库。hibernate3 数据库中有14个表 每个表都没映射了两次。也就是说每个表都对应两个不同的类。同一表被映射成多个不同的类会不会有问题?
展开
推荐于2017-12-16
展开全部
Hibernate是允许一个类进行多次映射(但是要映射到不同的表),像你这种一张表对应不同的类,既然是不同的类,那么属性什么的肯定不一样,而Hibernate是通过反射机制根据配置文件把类中的属性与表的字段关联起来的。所以在查询简单属性的值的时候可能没问题,但是在查询其他与这个类关联起来的实例的时候可能会报空指针异常,主要你这么设计一张表对应不同的类,完全没有必要。
展开全部
有经验的开发人员不会这么做。
如果这么做开发出来的都是费代码。
Hibernate作为orm产品,一个类对应一张表。实体操作可以由hibernate引擎本身转成sql。
关键问题是:hibernate的缓存,包括一级缓存和二级缓存。
缓存本身会缓存数据,对象交给hibernate进行缓存管理,才有transient ,persist & detached 这3个状态。
如果一张表映射为多个类,首先是设计的错误,而后是缓存的管理从而带来性能的弱化。
如果这么做开发出来的都是费代码。
Hibernate作为orm产品,一个类对应一张表。实体操作可以由hibernate引擎本身转成sql。
关键问题是:hibernate的缓存,包括一级缓存和二级缓存。
缓存本身会缓存数据,对象交给hibernate进行缓存管理,才有transient ,persist & detached 这3个状态。
如果一张表映射为多个类,首先是设计的错误,而后是缓存的管理从而带来性能的弱化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-09
展开全部
应该会有,你最好同一表映射一次就行。 完了采用一对多和多对一的关系来写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会,调用都是根据包名来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询