Java 如何使用SpringBoot和Hibernate将用户列表保存到数据库中

Java 如何使用SpringBoot和Hibernate将用户列表保存到数据库中,java,spring-boot,hibernate,Java,Spring Boot,Hibernate,我想使用SpringBoot和Hibernate ORM将用户列表保存到数据库中,但不幸的是,我遇到了以下错误: “未知实体:java.util.ArrayList;嵌套异常为java.lang.IllegalArgumentException:未知实体:java.util.ArrayList” UserController.java @PostMapping("/users") public void addUsers(@RequestBody List<Us

我想使用SpringBoot和Hibernate ORM将用户列表保存到数据库中,但不幸的是,我遇到了以下错误:

“未知实体:java.util.ArrayList;嵌套异常为java.lang.IllegalArgumentException:未知实体:java.util.ArrayList”

UserController.java

@PostMapping("/users")
    public void addUsers(@RequestBody List<User> newUsers) {
        userService.saveUser(newUsers);
    }
 @Override
    @Transactional
    public void saveUser(List<User> user) {
        userDao.saveUser(user);
    }
public interface UserService {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@Override
    public void saveUser(List<User> newUsers) {

        Session currentSession = entityManager.unwrap(Session.class);
        currentSession.persist(newUsers);
    }
public interface UserDao {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@PostMapping(“/users”)
public void addUsers(@RequestBody List newUsers){
userService.saveUser(newUsers);
}
UserServiceImpl.java

@PostMapping("/users")
    public void addUsers(@RequestBody List<User> newUsers) {
        userService.saveUser(newUsers);
    }
 @Override
    @Transactional
    public void saveUser(List<User> user) {
        userDao.saveUser(user);
    }
public interface UserService {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@Override
    public void saveUser(List<User> newUsers) {

        Session currentSession = entityManager.unwrap(Session.class);
        currentSession.persist(newUsers);
    }
public interface UserDao {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@覆盖
@交易的
公共void保存用户(列表用户){
userDao.saveUser(用户);
}
UserSrvice.java

@PostMapping("/users")
    public void addUsers(@RequestBody List<User> newUsers) {
        userService.saveUser(newUsers);
    }
 @Override
    @Transactional
    public void saveUser(List<User> user) {
        userDao.saveUser(user);
    }
public interface UserService {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@Override
    public void saveUser(List<User> newUsers) {

        Session currentSession = entityManager.unwrap(Session.class);
        currentSession.persist(newUsers);
    }
public interface UserDao {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
公共接口用户服务{
列出getAllUsers();
用户getUserById(长id);
作废保存用户(列表用户);
无效删除用户(长id);
用户updateUser(int-id,Map-changedFields,String-changedByUsername);
}
UserDaoImpl.java

@PostMapping("/users")
    public void addUsers(@RequestBody List<User> newUsers) {
        userService.saveUser(newUsers);
    }
 @Override
    @Transactional
    public void saveUser(List<User> user) {
        userDao.saveUser(user);
    }
public interface UserService {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@Override
    public void saveUser(List<User> newUsers) {

        Session currentSession = entityManager.unwrap(Session.class);
        currentSession.persist(newUsers);
    }
public interface UserDao {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@覆盖
public void saveUser(列出新用户){
会话currentSession=entityManager.unwrap(会话.class);
currentSession.persist(新用户);
}
UserDao.java

@PostMapping("/users")
    public void addUsers(@RequestBody List<User> newUsers) {
        userService.saveUser(newUsers);
    }
 @Override
    @Transactional
    public void saveUser(List<User> user) {
        userDao.saveUser(user);
    }
public interface UserService {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
@Override
    public void saveUser(List<User> newUsers) {

        Session currentSession = entityManager.unwrap(Session.class);
        currentSession.persist(newUsers);
    }
public interface UserDao {

    List<User> getAllUsers();

    User getUserById(long id);

    void saveUser(List<User> user);

    void deleteUser(long id);

    User updateUser(int id, Map<String, String> changedFields, String changedByUsername);

}
公共接口UserDao{
列出getAllUsers();
用户getUserById(长id);
作废保存用户(列表用户);
无效删除用户(长id);
用户updateUser(int-id,Map-changedFields,String-changedByUsername);
}

我在这里遗漏了什么?

在crudepository中使用saveAll()。我建议使用Spring数据

我找到了一个可行的解决方案,希望它能帮助有同样问题的人:)

public void saveUser(列出新用户){
for(用户:新用户){
entityManager.merge(用户);
}
}

但我没有使用它,我正试图让它以这种方式工作