我需要保存与复合主键表的对象的列表,我做如下所示。但是我得到一个错误引起:java.sql.BatchUpdateException:ORA-00001:违反唯一约束。 但是列表中的项目是唯一的,我做错了什么。JPA保留与复合主键表的对象列表
//表结构
@Entity
@Table(name="COMP_PRIMARY")
CompPrimaryObj{
@Id
@Column(name="KEY1")
private String key1;
@Id
@Column(name="KEY2")
private Long key2;
}
//代码在我的业务层
List<CompPrimaryObj> compPrimaryObjList = new ArrayList<CompPrimaryObj>();
CompPrimaryObj obj1 = new CompPrimaryObj();
obj1.setKey1("key1");
obj1.setKey2(11111);
compPrimaryObjList.add(obj1);
CompPrimaryObj obj2 = new CompPrimaryObj();
obj2.setKey1("key2");
obj2.setKey2(222222);
compPrimaryObjList.add(obj2);
for(CompPrimaryObj compPrimaryObj:compPrimaryObjList){
em.persist(compPrimaryObj); // em stands for Entity manger instance
}
谢谢你我会尽量使用相同的。 – Greg
我尝试使用Idclass注释,但我仍然得到相同的唯一的constaint错误,我相信有一个问题,我如何坚持对象列表。 – Greg
您是否使用过'@ Embeddable'和'@ EmbeddedId'注解? –