小东他哥 2010-12-16 10:52
浏览 299
已采纳

关于HibernateDaoSupport查询有多对一关系对象时的问题?

[code="java"]
@Entity
@Table(name="sales_order")
public class SalesOrder implements Serializable{
private static final long serialVersionUID = 5759107473482682684L;

private Long id;

private String salesOrderId;

List<SalesOrderItem> items = new ArrayList<SalesOrderItem>();

private double point;

@Id
@Column
public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

@OneToMany(targetEntity = SalesOrderItem.class, fetch=FetchType.EAGER, cascade = {CascadeType.ALL}, mappedBy = "salesOrder")
public List<SalesOrderItem> getItems() {
    return items;
}

public void setItems(List<SalesOrderItem> items) {
    this.items = items;
}

@Column(name = "sales_order_id")
public String getSalesOrderId() {
    return salesOrderId;
}

public void setSalesOrderId(String salesOrderId) {
    this.salesOrderId = salesOrderId;
}

@Column(name = "point", nullable=true)
public double getPoint() {
    return point;
}

public void setPoint(double point) {
    this.point = point;
}   

}
[/code]
[code="java"]
@Entity
@Table(name="sales_order_item")
public class SalesOrderItem implements Serializable {

private static final long serialVersionUID = 2884305648443041227L;

private Long id;

private SalesOrder salesOrder;

private double amount;

private double rate;

@Id
@Column
public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

@ManyToOne(targetEntity = SalesOrder.class, fetch=FetchType.EAGER)
@JoinColumn(name="sales_order_id")  
public SalesOrder getSalesOrder() {
    return salesOrder;
}

public void setSalesOrder(SalesOrder salesOrder) {
    this.salesOrder = salesOrder;
}

@Column(name = "amount")
public double getAmount() {
    return amount;
}

public void setAmount(double amount) {
    this.amount = amount;
}

@Column(name = "rate")
public double getRate() {
    return rate;
}

public void setRate(double rate) {
    this.rate = rate;
}   

}
[/code]
HibernateDaoSupport在查询出salesorder时,貌似在查询完毕后就会将事务关闭。当要用到getItems()取出salesorderitem时,会报事务关闭的异常。后来将懒加载关掉后,就好了。不知道有没有童鞋也遇到过类似问题。来交流下。

  • 写回答

2条回答 默认 最新

  • weixin_42317583 2010-12-17 10:17
    关注


    hibernateFilter

    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

    </filter

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题