0
データベースに受講者レコードを挿入する方法が1つあります。日付のデータベースには、学生の出席記録が1つだけあります。私はデータの一貫性を確認する必要があります。私はこのメソッドを同期メソッドとして定義しました(つまり、異なるシステム/ブラウザから同時に試してみると、特定の生徒に2つのレコードを挿入しないでください)。同期メソッドが別のシステム/ブラウザから同時に呼び出されたときに、2つのレコードがデータベースに挿入されます
public synchronized void SaveOrupdateAttendance(final StudentAttendance studentAttendance) throws ApplicationException {
/*Method Code*/
saveOrUpdate(studentAttendance);
}
2つのレコードがdbに挿入されます。私のアプローチが間違っています。助けてください
あなたのメソッドはおそらく2回呼び出されています。より多くのコードを見る必要があります。 –
@スティーブスミスええ。これは、別の同期メソッドからのループからの呼び出しです。その場合も正常に動作するはずです。リット? –
同期は魔法ではありません。それが機能するには、定義されているクラスのインスタンスが1つだけであることを確認する必要があります。あなたが与えられたコードの量があなたの問題を特定するのに不十分であるので、[mcve]が最も良いでしょう。 – RealSkeptic