用户登录
用户注册

分享至

hibernate映射多个表

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



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



  前人栽树后人乘凉,前人的烂摊子后人也得处理,不建议你重新映射,所谓牵一发而动全身,你要是改了它以前写的service调用岂不是要出问题了;项目里面存在一套映射比较好,如果要改的建议你在原来的dao里面加上自己的方法这样调用的时候得心应手,如果你觉的他的映射不好你可以在到层采用sql语句的方法



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