java - 如何在 hibernate 状态下更新?

标签 java postgresql hibernate spring-mvc

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

相关文章:

java - Hibernate OneToMany 关系是 PersistentBag 而不是 List

java - 在 Spring 中创建自定义查询

postgresql - 使用 Homebrew 软件安装 postgresql 9.5.3

java - Hibernate @Formula 不起作用

postgresql - PostGIS 中未找到 ST_Extrude 函数

arrays - JSONB 或整数数组

java - 在数据库中存储 BLOB Spring Hibernate 持久化

java - 如何将隐藏字段数组发送到 servlet?

java - 是什么让 String 不可变?

java - 在 Java 中通过套接字发送数据并在 C++ 中使用 QT 套接字接收数据