JDBC exception executing SQL [select u1_0.user_id,u1_0.created_at,u1_0.email,u1_0.password,u1_0.role_type,u1_0.updated_at,u1_0.username from users u1_0 where u1_0.username=?] [Unknown column 'u1_0.role_type' in 'field list'] [n/a]; SQL [n/a]
[Unknown column 'u1_0.role_type' in 'field list']
query did not return a unique result: 7
getSingleResult()
, uniqueResult()
, findOne()
등의 메소드를 사용하여 쿼리의 결과를 가져오려고 했지만, 쿼리가 여러 개의 결과를 반환했을 때. 이러한 메소드들은 쿼리가 정확히 하나의 결과를 반환할 것으로 예상할 때 나타난다.@OneToOne
또는 @ManyToOne
등의 JPA 어노테이션을 사용하여 엔티티 간의 관계를 매핑했지만, 실제 데이터베이스에서는 한 엔티티가 여러 개의 관련 엔티티를 가지고 있을 때.getResultList()
, findAll()
등의 메소드를 사용하여 결과를 가져와야 한다.@OneToOne
어노테이션을 사용했다면, 한 엔티티가 정확히 하나의 관련 엔티티만을 가지고 있는지 확인해라.<aside> 1️⃣ 내가 오류가 생긴 이유는 다음과 같다.
</aside>
mysql의 데이터베이스를 확인해보니 중복되는 데이터가 잔뜩 들어가있었다. (7개가 있었다.)
근데 이제 또 다른오류가 생긴다.
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
/**
* password 인코더 구현
* spring security 암호화 모듈을 사용한다.
*/
@Bean
PasswordEncoder passwordEncoder() {
return PasswordEncoderFactories.createDelegatingPasswordEncoder();
}
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"