Hibernate学习例程

今天学习Hibernate碰到了这个错误:

net.sf.hibernate.NonUniqueObjectException:

a different object with the same identifier value was already associated with the session: 0, of class: com.shoulders.survey.businessob.Order

正在解决中

这个错误的意思是不同对象拥有了同一个标识,但是我设置的Order对象的id是increment的,肯定不会是同一个标识。

        Customer customer = new Customer("ylw","ylw66@hotmail.com",new HashSet());
        Order order1=new Order("Order001",100,customer);
        Order order2=new Order("Order002",200,customer);

        customer.getOrders().add(order1);
        customer.getOrders().add(order2);

        this.saveCustomer(customer);

       class Order{
          private int id;
          ......
      }

       

我将id类型改成了Long,问题解决了。

将id类型改回int,再次出现这个问题。

将id类型改成Integer,问题又解决了。

而customer对象的id设置成了int类型的,可以进行save的

是不是在对象关联时存取多个对象时,这种对象的OID只能使用包装类类型???现在还无法解释,以后再解释

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值