Spring批量插入不将数据插入数据库

时间:2021-04-13 21:47:40

标签: java spring spring-boot hibernate jpa

我是 spring 的新手,我正在尝试批量插入到数据库中,但由于某种原因,它没有插入任何内容。有人可以告诉我我做错了什么。

控制器

public class HomeController {

    @Autowired
    private UserRepository userRepository;
    
    @RequestMapping("/registration")
    public ResponseEntity<String> insertUser()
    {
        
        
        User c1=new User("Kangkan Talukdar","Guwahati","I am java programmer");
        User c2=new User("Kangkan Thakuria","Guwahati","I am java programmer");
        User c3=new User("Kangkan Ahmed","Guwahati","I am java programmer");
        User c4=new User("Kangkan Basumatary","Guwahati","I am java programmer");
        
        List<User> user1 = Arrays.asList(c1, c2, c3, c4);
       
        userRepository.saveAll(user1);
        return ResponseEntity.created("/customers");
        
        
        
    }
    
}

用户表

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    
    private String name;
    
    private String city;
    
    private String status;

//getter,setters etc have been generated

}

我添加了以下属性

spring.jpa.properties.hibernate.jdbc.batch_size=4

spring.jpa.properties.hibernate.order_inserts=true

这是日志

 0 nanoseconds spent acquiring 0 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    0 nanoseconds spent preparing 0 JDBC statements;
    0 nanoseconds spent executing 0 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    0 nanoseconds spent executing 0 flushes (flushing a total of 0 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

private Map<Long, User> usersMap = new HashMap<>();

User user = new User();
user.setId(1);
user.setName("Kangkan Talukdar");
user.setCity("Guwahati");
user.setStatus("I am java programmer");
usersMap.put(user.getId(), user);

application.yml : 
 jpa:
    hibernate:
      ddl-auto: update