同じ列を持つ 2 つのテーブル (Customer と CustomerTemp) があります。Customer テーブルからレコードを取得し、CustomerTemp テーブルに追加しています。取得したレコードは custDetails オブジェクトとして保存されます。次の API を使用しています。
void saveOrUpdate(String entityName,
Object object)
@Entity アノテーションを使用して、Customer と CustomerTemp という 2 つのエンティティを宣言しました。エンティティ名は、saveOrUpdate API で使用されます。
session.saveOrUpdate("CustomerTemp", custDetails);
同じレコードを CustomerTemp テーブルに追加/更新します。どういうわけか、休止状態が Customer テーブルのレコードを追加/更新しています。
ドキュメントに従って、休止状態は CustomerTemp テーブルにレコードを追加する必要があります。何が欠けているのかわからない。
アップデート:
テスト目的で、2 つのテーブル (テーブル 1 とテーブル 2) を作成しました。
@Entity(name="mytable1")
public class table1 implements Serializable {
private static final long serialVersionUID = 3627342236515154416L;
@Id
@GeneratedValue
private int id;
@Column(length=20)
private String Name;
// Getters and setters...
}
@Entity(name="mytable2")
public class table2 implements Serializable {
private static final long serialVersionUID = -2203149737718957786L;
@Id
@GeneratedValue
private int id;
@Column(length=20)
private String Name;
// Getters and setters...
}
table1 を使用してオブジェクトを作成し、レコードが table2 に保存されることを期待して myTable2 エンティティで saveOrUpdate を使用しようとしました。ただし、saveOrUpdate で指定されたエンティティ名に関係なく、レコードは常に table1 に永続化されます。
Session session = getSessionFactory().getCurrentSession();
Transaction tx ;
table1 tb1 = new table1();
tb1.setName("Shirish");
tx = session.beginTransaction();
session.saveOrUpdate("mytable2", tb1);
tx.commit();
よろしく、 - シリッシュ