添加新的实例到表使用下面的代码,当我从表中读取条目(derby db - eclipse链接) 只有一个条目,我应该如何添加新条目?例如添加相同的条目5次?使用JPA
for (Object object : listClsObj) {
int cnt = 1;
do {
em.getTransaction().begin();
em.persist(object);
em.getTransaction().commit();
cnt++;
}
while (cnt < 6);
}
em.close();
实体类是:
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private String id;
private String firstName;
private String lastName;
public String getId() {
return id;
}
public void setId(String Id) {
this.id = Id;
}
public String getFirstName() {
return firstName;
}
当我把断点EM依然存在,在第二循环中改变的id值,我得到了以下错误:
异常说明:将[DerbyModel.Person] 类的属性[id]映射到数据库中的主键列。更新不是允许的 。 javax.persistence.RollbackException异常[EclipseLink-7251] (Eclipse持久性服务 - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.ValidationException异常 说明:属性[DerbyModel.Person]类的[id]被映射为 到数据库中的主键列。更新是不允许的。
你坚持什么实体?向我们展示实体类。你在哪里填充你的'listClsObj'? –
你一直坚持着同一个对象(5次) - 这真的是你想要的吗? –
是的,我需要建立虚拟数据 –