Java 如何将多个对象持久化到数据库?

Java 如何将多个对象持久化到数据库?,java,hibernate,jackson,Java,Hibernate,Jackson,我的目标是从json文件创建许多java对象,然后将这些对象放入我的数据库中。我不确定应该如何将许多对象放入persist方法中,因为persist方法只接受实体。 我是java新手,实际上我不知道这是否有意义,是否可以实现。 Json文件: [ { "id": 1, "name": "Drama" }, { "id": 2, "name": "Horror" }, { "id": 3, "name": "Mystery"

我的目标是从json文件创建许多java对象,然后将这些对象放入我的数据库中。我不确定应该如何将许多对象放入persist方法中,因为persist方法只接受实体。 我是java新手,实际上我不知道这是否有意义,是否可以实现。 Json文件:

[
  {
    "id": 1,
    "name": "Drama"
  },
  {
    "id": 2,
    "name": "Horror"
  },
  {
    "id": 3,
    "name": "Mystery"
  }
]
类别

@Entity
@Table(name = "GENRE")
public class Genre {

    @Id @GeneratedValue
    @Column(name = "id")
    private int id;

    @Column(name = "name", nullable = false)
    private String name;

    public Genre() {}
    //setters getters
}
主要

主类{
公共静态void main(字符串[]args){
ObjectMapper ObjectMapper=新的ObjectMapper();
EntityManager EntityManager=null;
EntityManagerFactory EntityManagerFactory=null;
试一试{
entityManagerFactory=Persistence.createEntityManagerFactory(“hibernate动态”);
entityManager=entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
List listgree=objectMapper.readValue(新文件(“D:\\genre.json”),新类型引用(){});
实体管理器持续(??);
entityManager.getTransaction().commit();
entityManager.close();
}捕获(可丢弃的ex){
System.err.println(“初始会话工厂创建失败。”+ex);
}最后{
entityManagerFactory.close();
}
}
}
我不知道应该在“?”位置放置什么,以便将所有这3个对象从json文件持久化到db。

如果您使用的是“香草”EntityManager,则必须在集合中循环:

listGenre.forEach(entityManager::persist);
使用spring时,可以使用
saveAll
方法:

genreRepository.saveAll(listGenre);
如果您使用的是“vanilla”
EntityManager
,则必须在集合中循环:

listGenre.forEach(entityManager::persist);
使用spring时,可以使用
saveAll
方法:

genreRepository.saveAll(listGenre);

遍历所有对象并分别保存?遍历所有对象并分别保存?非常感谢。这对我帮助很大,非常感谢。这对我帮助很大。