问题描述
- Hibernate one-to-many 怎么取消代理
-
Hibernate中默认对one-to-many 的set集合采用的是lazy="true",这样当没有使用到该集合数据时,它只是一个代理。正是因为这个原因,当我的后台将这个对象使用JSON发送到前台时,因为使用的是struts2的自带的JSON,所以会出现session close的错误,当然我可以配置一个session view来强制打开session,但这样性能明显下降,因为那个代理对象中的数据我根本没用。如果我手动把代理对象设置成null是可以解决的,不过这样太过繁琐,求有什么办法,可以取消set的代理
解决方案
1数据库开发中经常会遇到一对多的关系,例如客户与订单的关系,一个客户对应多个订单。
开发一个customer与orders的demo
(1)领域模型
customer
package com.songxu.domain;
import java.io.Serializable;
import java.util.Set;
public class Customer impl......
答案就在这里:Hibernate one-to-many
----------------------
时间: 2025-01-26 13:04:13