当前位置: 代码迷 >> Java Web开发 >> hibernate不配置表之间的关系,好吗?解决方法
  详细解决方案

hibernate不配置表之间的关系,好吗?解决方法

热度:37   发布时间:2016-04-13 22:43:26.0
hibernate不配置表之间的关系,好吗?
在项目的实际开发中,通常是用建模工具画出数据库表以及表之间的关系,但是导入到数据库时,表之间的关系是要去掉的。

那么如果项目使用hibernate的话,在映射关系中,需要配置一对多、多对多等等这些的表关系吗?

-- 以下为个人理解
项目开发过程,难免有错误数据进入数据库,难免有对数据库数据进行更改等操作,所以数据库中不应该有表关系约束,这样更有利于项目的开发、维护。
但是近期对hibernate的理解:hibernate的简单查询(from POJOName)这之类的,返回的是一个实体类的List,但是如果是复杂查询,有没有配置表关系的话(select ... from ... left join ... where ...),返回的是一个Object[]的List,对于数据的组装非常麻烦。

所以由此疑问,请大家帮忙给点意见吧。
       
------解决思路----------------------
引用:
面向对象,表表之间通过对象关联,表表直接没有任何关系,遇到复杂象进行管理业务逻辑就拆分为多个对


表表之间不关联的话,复杂业务逻辑就拆分为多个,那性能岂不是很差?

比如 A 对象由 b 和c 2个小对象组成,业务是:需要根据 b 对象的值,来查询 A 对象。

如果表表之间不关系,那就意味着我得先查 b ,然后再根据 b 查询到 a。2次查询了。

如果一个页面中,需要显示 20 条 A 对象的记录,并且都要求显示 b 对象的值,那这个页面,仅仅关于a和b的查询就有 30 次!


面向对象中,有关对象查询的操作,在关系型数据库上太难了,我一直在找答案。。
------解决思路----------------------
貌似可以设置查询的时候要不要关联的哦,想怎么查就怎么配,hibernate学的朦朦胧胧的话感觉比不用的好
------解决思路----------------------
hibernate关联完善好后基本不会用到复杂的hql查询,用好关联加延迟加载,获取一个对象,其他关联的都可以方便的得到。
话说你为什么要查询出后再自己组装一个bean
  相关解决方案