에러가 나는데 .. 확인 부탁드립니다
10405
投稿した質問数 2
Member member = new Member();
member.setUsername("kim");
em.persist(member);
List<Member> resultList = em.createNativeQuery(
"select MEMBER_ID, city, street, zipcode, USERNAME from MEMBER")
.getResultList();
for (Member member1 : resultList) {
System.out.println("member1.getUsername() = " + member1.getUsername());
}
java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class jpabook.jpashop2.domain.Member ([Ljava.lang.Object; is in module java.base of loader 'bootstrap'; jpabook.jpashop2.domain.Member is in unnamed module of loader 'app')
at jpabook.jpashop2.JpaMain.main(JpaMain.java:66)
6월 21, 2021 5:34:08 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PoolState stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:h2:tcp://localhost/~/jpashop2]
6월 21, 2021 5:34:08 오후 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections close
ERROR: Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:h2:tcp://localhost/~/jpashop2
형변환 할수 없다고 하는 에러가 나는데요..
List<Member> resultList = em.createNativeQuery(
"select MEMBER_ID, city, street, zipcode, USERNAME from MEMBER", Member.class)
.getResultList();
이렇게 고치면
ERROR: Column "INSERT_MEMBER" not found [42122-200]
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1613)
at org.hibernate.query.Query.getResultList(Query.java:165)
at jpabook.jpashop2.JpaMain.main(JpaMain.java:63)
이런 에러가 나오고요...
그래서 Member 에서 BaseEntity를 extends 를 않하면
잘 돌아갑니다... 이유가 뭘까요??
BaseEntiy도 첨부하겠습니다
回答 3
2
안녕하세요 net1560님.
단순 값을 뽑아오고 싶으신거면
List<Member> results = em.createQuery("select m from Member m", Member.class).gerResultList();
.
다음과 같이 createQuery를 jpql로 작성해서 모든 필드를 담은 객체를 타입 명시를 함께 진행하시면 List로 뽑아오실 수 있으실거에요.
위에서는 네이티브 쿼리로 특정 필드를 출력(반환)하도록하였기 때문에 그걸 받을 수 있는 Object 타입의 배열로 처리된거 같네요.
처음 본문에서 남기신 문제는 em.find(baseEntity)를 사용하신게 아니라면 당시 재현가능한 Main메서드의 코드가 있어야 할 것 같습니다.
0
안녕하세요 net1506님.
BaseEntity의 @Column(name="INSERT_MEMBER")와 @Column(name="UPDATE_MEMBER")에서 문제가 발생하는 걸로 보이는데 직접 해결해보시겠어요?
영한님께서는 https://www.inflearn.com/questions/227574
의 댓글의 답글에서도 보시다시피
"답을 바로 드릴 수도 있지만, 그러면 LPD Code님이 더 많은 것을 얻어가실 수 없다 생각합니다."
직접 해결해볼 수 있을 법한 문제에 대해선 수강생분에게 일단 해결을 맡기시거든요. net1506님도 문제 해결을 위해 코드를 이리저리 바꿔보시기도 하셨고, 어느정도 해결의 힌트도 드렸다고 생각하기에 net1506님이 문제 해결을 일단 한번 해보시고 그래도 잘 모르겠다 싶으시면 댓글 남겨주세요.
.
감사합니다.
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
28
2
inheritance startegy 선택시 고려사항
0
22
1
Entity 동등성 비교
0
21
1
실무 조언 관련 질문입니다.
0
47
1
H2데이터베이스 파일 생성
0
56
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
53
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
52
1
JPQL 메소드와 락
0
55
1
Delivery @OneToOne
0
60
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
94
2
UnsupportedOperationException 발생
0
86
3
H2 Database 연결이 안됩니다.
0
95
2
연관관계 매핑 질문드립니다.
0
85
2
h2데이터베이스 실행오류
0
108
2
persistence.xml
0
108
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
80
1
영속성 컨텍스트
0
66
1
JPA 프록시
0
96
1
Native Query와 MyBatis
0
70
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
87
1
임베디드 타입 예시 코드 관련 질문
0
115
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
95
3
인텔리제이 패키지 커서 단축키 질문
0
108
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
145
1

