当我的 servlet 尝试写入记录时,它遇到了以下异常:
javax.persistence.EntityNotFoundException: Could not retrieve entity of kind MyEntity with key MyEntity(1318001)
即使我检查并确保我的数据存储中不存在 id 1318001。它发生在我的 servlet 提交事务时。
这是我的编码:
EntityManagerFactory emfInstance =
Persistence.createEntityManagerFactory("transactions-optional");
EntityManager em = emfInstance.createEntityManager();
em.getTransaction().begin();
MyEntity ent = new MyEntity(....);
em.persist(ent);
log.info(ent.toString());
em.getTransaction().commit();
我可以在日志中看到我的 ent,但它导致了 commit 语句中的异常。有人可以帮忙吗?
编辑:@jirungaray @Nicholas,谢谢您的评论。问题没有解决。我最终添加try
并catch
在commit()
监视它何时发生。现在我已经用另一个应用程序替换了该应用程序,并且没有遇到同样的问题。如果您仍然感兴趣,这里是实体。
@Entity
public class MyEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long key;
private String tDate;
private int stkCode;
private Text tradeRec;
public MyEntity() {}
public MyEntity(int code, String dd, Text trec) {
this.stkCode = code;
this.tDate = dd;
this.tradeRec = trec;
}
..... getter and setter skipped