当同时从不同的系统/浏览器调用synchronized方法时,会在数据库中插入两条记录

时间:2017-01-19 12:02:02

标签: javascript java synchronization hql data-synchronization

我有一种方法可以将学生出勤记录插入数据库中。数据库中的学生应该只有一个出勤记录。我必须确保数据的一致性。我已将此方法定义为同步方法。(例如,如果我们从不同的系统/浏览器同时尝试,则不应为特定学生插入两条记录。)

 public synchronized void SaveOrupdateAttendance(final StudentAttendance studentAttendance) throws ApplicationException {
    /*Method Code*/
  saveOrUpdate(studentAttendance);
}

在db中插入两条记录。我的方法出了什么问题。请帮忙

1 个答案:

答案 0 :(得分:1)

JAVA中的

同步只处理多线程逐个共享资源。它意味着您在方法中使用的数据不应该重复。

在将数据插入数据库或将应用程序设计为不允许多次提交之前进行检查