データベースを管理するために、MySqlデータベース、JPAオブジェクト、およびEntityManagerFactoryをEclipseLinkで開発しています。すべてうまく動作しますが、私には問題があります。私のJPAオブジェクトのEntityManagerFactoryでオブジェクトを追加しました
一つは、だから、idフィールドは、私はデータベースに格納してEntityManagerFactoryによって自動生成されます。この
public class JPAObject1{
@Id
@GeneratedValue
private int id;
@OneToMany(//things here)
List<JPAObject2> list1;
...
}
のようなものです。 EMはEntityManagerのオブジェクトタイプJPAObject1を入力しAsumming:
em.getTransaction().begin();
em.persist(object);
em.getTransaction().commit();
//house work closing things
JPAObject1が正しく追加されて、私は、データベース内のすべてのフィールドを見ることができます。フィールドIDが検索操作を行うためのキーなので、私の質問は次のとおりです。 追加された瞬間にEntityManagerで最後に追加されたオブジェクトを取得する方法はありますか?
JPAObject1 idフィールドを外部キーとして使用するオブジェクトが他にもあります。オブジェクトをデータベースに追加するだけでそのフィールドが必要ですが、他のオブジェクトをリンクするにはそのフィールドが必要ですが、 JPAObjectsとCollectionの最後のものを取得します。したがって、いくつかのオブジェクトでは問題は発生しませんが、プロセス1が最後に追加されたfindAllを実行する前にデータベースに挿入して別のプロセスを挿入すると、コヒーレンスエラーが発生します。
私はそれをうまく説明したと思います。
ありがとうございます!
おかげで多くのことを !!!!:あなたがしたい場合は、plsは...日付、時刻などの列を追加し、クエリは次のようになります –
いつでもようこそ。 –