4

当我的 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,谢谢您的评论。问题没有解决。我最终添加trycatchcommit()监视它何时发生。现在我已经用另一个应用程序替换了该应用程序,并且没有遇到同样的问题。如果您仍然感兴趣,这里是实体。

@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
4

0 回答 0