java - 使用 JPARepository 保存实体

标签 java spring hibernate spring-data spring-data-jpa

我是 JpaRepository 的新手。我有一个类 StudentClient.java,我在其中使用 Hibernate 插入记录。

我的问题是,如果我想使用 JpaRepository,我该怎么做?

我想插入记录,然后使用 Jparepository 保存实体。代码-

public class StudentClient
    {
      public static void main(String[] args) throws Exception
      {                                           
        // create Configuration class, Configuration object parses and reads .cfg.xml file                                                   
        Configuration c = new Configuration();
        c.configure("/hibernate.cfg.xml");
        // SessionFactory holds cfg file properties like, driver props and hibernate props and mapping file                                                 
        SessionFactory sf=c.buildSessionFactory();
        // create one session means Connection
        Session s = sf.openSession();
        // before starting save(),update(), delete() operation we need to start TX, starting tx mean    con.setAutoCommit(false);                                             
        Transaction tx = s.beginTransaction();     
        try
        {
          Student std1=new Student();
          std1.setSid(100);
          std1.setSname("S N Rao");
          std1.setSmarks(78);
          std1.setSjoindate(new Date());     
          Student std2=new Student();
          std2.setSid(101);  
          std2.setSname("Sumathi");
          std2.setSmarks(52);
          std2.setSjoindate(new Date());     
          s.save(std1);      // stmt.addBatch("INSERT INTO school VALUES (....)");
          s.save(std2);     
          s.flush(); // stmt.executeBatch()
          tx.commit(); // con.commit();
          System.out.println("Records inserted");
        }
        catch(Exception e)
        {
          tx.rollback();    // con.rollback();
        }
    }
}

最佳答案

如果您要创建新的基于 Spring 的应用程序,则应该使用 Spring Boot。对于基于 Spring Boot 的应用程序,您的繁重代码将无关紧要,因为 Spring Boot + Spring + Spring Data 组合将为您完成。

要开始熟悉 Spring 生态系统对持久性的支持,请查看 this Spring Data JPA guide

关于java - 使用 JPARepository 保存实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39991798/

相关文章:

java - entityManagerFactory 未命名时 "entityManagerFactory"

hibernate - 如何在查询执行期间停止 session 以保存未保存的对象?

java - Erlang 的让它崩溃的哲学 - 适用于其他地方吗?

java - Swing 组件合并排序错误

java - Singleton EJB 在 EJB 容器外部的行为应该相同,但事实并非如此

java - 从 S3 上的前几 MB 中提取视频元数据

Spring:不同ApplicationContext的不同日志记录行为

java - JUnit测试Spring示例中的一些疑问

java - 每个实体 hibernate 两个表

java - 使用 Hibernate 和 Postgres 读取/更新并发实体