当我为注册 ID CL123 输入新数据(其中注册 ID 是主键)并且我调用以下方法时,它将成功输入数据库,状态为“FRESH”。如果我想通过调用相同的方法来更新这个特定的注册 ID,它也可以正常工作,但现在我想将其状态更新为“DUPLICATE”。怎么做?请帮助我..
public Integer savecertificate(Certification certification) {
Session session = sessionFactory.openSession();
session.beginTransaction();
certification.setRegID("CL123");
certification.setClass("M.Sc");
certification.setStatus("FRESH");
//certification.setStatus("DUPLICATE");
session.saveOrUpdate(certification);
session.getTransaction().commit();
}
最佳答案
您需要创建另一种更新方法,如下所示。
public Integer updateCertificate(Certification certification) {
Session session = sessionFactory.openSession();
session.beginTransaction();
certification.setRegID("CL123");
//certification.setStatus("FRESH");
certification.setStatus("DUPLICATE");
session.saveOrUpdate(certification);
session.getTransaction().commit();
}
仅供引用...Hibernate 将检查具有相同 id(主键)的数据库(如果存在),然后它将更新或在数据库中创建新记录。
访问此StackOverFlow链接
关于java - 如何在 hibernate 状态下更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61814912/