当我为注册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/

10-17 02:43