在实体中例如一对多,我们Java使用关系型数据库当然希望双相关联。这样就会出现以下的问题:
使用hibernate配置实体关联的时候有一个属性叫做lazy,这个属性告诉hibernate有关联关系的时候,我是不是需要懒加载。如果lazy是true,很多人都会遇到这样的问题:no session,当然,no session有解决方案:使用配置让session延时关闭,但是这样对项目的性能显然是有影响的,会造成连接池拥挤,我们先暂时不使用这种比较笨的方式。至于no session有木有其他的解决方案,鄙人知识有限,就不知道了。
如果这个lazy属性值为false时,代表这在加载类的时候,如果有关联关系出现,会直接查询数据库,得到关联实体对象数据,如果两边都为false的话,一边加载另一边,另一边又会加载这一边,这样循环加载,就会栈溢出。如果一边false,一边true,和lazy=true是一个效果,避免不了no session的出现。求一个合理的解决方案:既不会影响项目的性能,又不会影响项目的关联关系使用
Java双向关联的一个纠结问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-