4

サーブレットがレコードを書き込もうとしたときに、次の例外が発生しました。

javax.persistence.EntityNotFoundException: Could not retrieve entity of  kind MyEntity with key MyEntity(1318001) 

ID 1318001 がデータストアに存在しないことを確認したとしても。私のサーブレットがトランザクションをコミットしたときに起こりました。

これが私のコーディングです:

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、コメントありがとうございます。問題は解決されませんでした。私はそれがいつ起こったのかを監視するためにtrycatchatを追加することになりました。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
4

0 に答える 0