내 법인 :
@Table("user")
public class User {
@Id
private Long user_id;
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public User() {
}
public Long getUser_id() {
return user_id;
}
public void setUser_id(Long user_id) {
this.user_id = user_id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
내 저장소 :
public interface UserRepository extends CrudRepository<User, Long> {
@Query("select * from user where username = :username")
User findByUsername(@Param("username") String username);
}
사용자 테이블을 만들기위한 내 SQL :
CREATE TABLE `user` (
`user_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
`password` text NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `UINQUE_USERNAME`(`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
User userForRegister = new User(username, passwordEncoder.encode(password));
userRepository.save(userForRegister)
'userRepository.save (userForRegister)'줄을 실행하면 처음에 엔터티를 성공적으로 삽입합니다.
하지만 다른 사용자 이름으로 다른 사용자 엔티티를 삽입하려면 오류가 발생합니다.
2021-01-08 21:37:38.242 INFO 11180 --- [nio-8080-exec-8] c.k.centre.controller.UserController : Failed to execute DbAction.InsertRoot(entity=com.***.***.Entity.User@65bc9ea1, generatedId=null)
사용자 테이블의 모든 데이터를 삭제할 때까지 삽입 할 수 있습니다. 내가 놓친 점이 있습니까?