`
jz_2017
  • 浏览: 6175 次
社区版块
存档分类
最新评论

JpaRepository Save 慢的问题

    博客分类:
  • Java
 
阅读更多

 

 检查了代码, 已经写了batch_size。但是还是不管用。

 

Properties.setProperty("hibernate.jdbc.batch_size", "200");

 

 

查询了Stack Overflow, batch_size 不起作用有可能是因为:

 

Note

Hibernate disables insert batching at the JDBC level transparently if you use an identity identifier generator.

相关链接: https://docs.jboss.org/hibernate/core/4.0/devguide/en-US/html/ch04.html#d0e1893

 

解决办法是,不适用GenerationType.AUTO 自动生成表的自增型id

可以使用GenerationType.Sequence

相应的在数据库创建Sequence。

以下给出Java关键代码以及MSSQL 2016创建Sequence的写法

 

//java entity
@Entity
@Table(name = "Student", schema = "dbo")
public class Student {

    @Id
    @SequenceGenerator(name = "StudentSeq", sequenceName = "StudentSeq")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, name = "StudentSeq")
    private Long id;

    ***
}

 

 

CREATE SEQUENCE dbo.StudentSeq
AS BIGINT
START WITH 1
INCREMENT BY 200
MINVALUE 1
MAXVALUE 9223372036854775807
CACHE
GO

 相关链接: https://docs.microsoft.com/en-us/sql/relational-databases/sequence-numbers/sequence-numbers?view=sql-server-2016

 

分享到:
评论

相关推荐

    详解SpringBoot实现JPA的save方法不更新null属性

    知识点 1: JPA 的 save 方法的问题 在 Spring Boot 中使用 JPA 时,直接调用原生 Save 方法会导致 null 属性覆盖到数据库,使用起来十分不方便。这是因为 JPA 的 save 方法会将所有的属性都保存到数据库中,而不管...

    Spring-JPA

    2. **Repository查询**: 定义Repository接口并继承JpaRepository,如`public interface UserRepository extends JpaRepository, Long>`,之后可以直接使用接口内的方法进行数据查询。 3. **自定义查询**: 在...

    SpringBoot+JPA

    Spring Data JPA允许我们通过继承`JpaRepository`或`CrudRepository`来实现对数据库的基本CRUD操作。例如: ```java import org.springframework.data.jpa.repository.JpaRepository; public interface ...

    hibernate+jpa注解实现最简单的增删改查

    JpaRepository接口提供了基本的CRUD方法,如save、findAll、findById等。 4. **Service层** 在业务逻辑层,我们可以注入UserRepository,通过其提供的方法进行数据库操作。例如: ```java @Service public ...

    7. JPA - Hibernate【从零开始学Spring Boot】

    例如,创建一个`UserRepository`,继承自`JpaRepository, Long>`: ```java public interface UserRepository extends JpaRepository, Long> { } ``` 现在,你可以通过这个接口进行增删改查操作,如`save()`、`...

    spring jpa

    - **创建Repository接口**:继承JpaRepository或CrudRepository接口,定义需要的方法。 - **启用JPA**:在Spring配置类中,通过@EnableJpaRepositories开启JPA支持,并指定Repository接口所在包。 4. **主要注解...

    Spring Data JPA 笔记

    通过继承`JpaRepository`或自定义Repository接口,可以轻松实现数据访问。例如,`findById`、`save`等方法都由Spring Data JPA自动提供。 3. **Querydsl**:Spring Data JPA可以与Querydsl结合使用,提供更强大的...

    JPA.rar_JPA 封装DAO

    2. 创建Repository接口:继承Spring Data JPA提供的JpaRepository或CrudRepository接口,定义需要的方法。 3. 实现Service层:在Service层中调用Repository接口的方法,处理业务逻辑。 4. 配置事务管理:在配置文件...

    后端 Java Spring Data Jpa @Transactional 介绍

    总结来说,`@Transactional`是Spring提供的一种强大的工具,它简化了事务管理,使得在Java后端开发中处理复杂的数据一致性问题变得更加便捷。通过合理使用和配置,我们可以有效地确保业务逻辑的正确执行,并保护...

    JAVA(SpringBoot) JPA 代码生成工具

    只需定义一个接口继承自JpaRepository,就可以自动实现基础的数据库操作。例如: ```java public interface UserRepository extends JpaRepository, Long> { } ``` **4. Service层** 服务层是业务逻辑的封装层,...

    Spring data jpa 中文开发文档

    public interface UserRepository extends JpaRepository, Long> { User findByUsername(String username); } ``` **3. 查询方法命名规则** Spring Data JPA支持根据方法名自动生成对应的SQL查询。例如,`...

    Springboot集成spring-data-jpa增删查改使用ajax数据交互

    接着,创建一个继承自`JpaRepository`的接口`UserRepository`,这样我们就可以直接调用Spring Data JPA提供的方法进行CRUD操作: ```java public interface UserRepository extends JpaRepository, Long> { } ``` ...

    spring-data-jpa-1.1.0.RELEASE

    Spring Data JPA 1.1.0.RELEASE版本是这个库的一个早期版本,但仍然包含了丰富的功能和改进,使得开发人员可以更高效地处理数据持久化问题。 首先,让我们理解Spring Data JPA的核心概念。Spring Data JPA通过...

    Spring Data JPA基本使用及部分原理(核心概念)

    在Spring Data JPA中,当我们定义一个接口并继承`JpaRepository`或其扩展接口时,Spring会自动为这个接口创建一个实现类,并注入到应用上下文中。这个实现类提供了基本的CRUD操作以及对JPA的透明支持。例如,如果...

    SpringBoot+JPA.zip

    通过实现Spring Data JPA提供的Repository接口,我们可以声明需要的方法来操作实体。例如,`findAll()`、`findById()`、`save()`和`deleteById()`等。 7. **配置**: SpringBoot应用中,JPA的相关配置通常在`...

    datajpa代码生成.zip

    这些接口继承自SpringData JPA提供的基类,如JpaRepository或CrudRepository,从而提供了一套标准的方法,如findAll、findById、save、delete等。 3. **Service类生成**:这部分代码通常包含业务逻辑,自动生成的...

    搭建springboot对mysql表增删改查源码

    接着,创建一个继承自`JpaRepository`的接口,用于处理数据库操作。`JpaRepository`提供了许多基本的CRUD方法,我们可以直接使用: ```java import org.springframework.data.jpa.repository.JpaRepository; ...

    spring mvc + jpa 集成实例(有带包)

    3. **Repository接口**:定义操作数据库的方法,Spring Data JPA会自动生成实现,例如`findAll()`、`save()`、`findById()`等。 4. **Service层**:业务逻辑处理,通常会注入Repository并调用其方法,对数据进行增删...

    spring data jpa1.7 中文

    public interface PersonRepository extends JpaRepository, Long>, MyCustomOperations { // 自定义操作 } ``` - **所有存储库添加自定义行为**: - 可以为所有的 Repository 实例添加通用的行为。 - 示例: ...

    Struts2整合Spring、JPA

    repository.save(entity); } } ``` 至于`lib1`这个文件,可能包含了整合所需的一些依赖库,比如Struts2、Spring和JPA实现的JAR包,以及可能的数据库驱动和其他支持库。确保这些库被正确地添加到项目的类路径中是...

Global site tag (gtag.js) - Google Analytics