프로젝션 임베디드 타입(Address) 쿼리호출 안되는 문제
391
投稿した質問数 23
아래와 같이 쿼리를 구성했는데
select쿼리가 나가지 않습니다.
어디가 잘못되었는지 궁금합니다..
//임베디드 타입 프로젝션(Address)
Address address = new Address();
address.setCity("경기도 땡땡");
address.setStreet("땡땡동");
address.setZipcode("00000");
Product product = new Product();
product.setName("제발되라");
em.persist(product);
Order order = new Order();
order.setOrderAmount(0);
order.setAddress(address);
order.setProduct(product);
em.persist(order);
em.flush();
em.clear();
em.createQuery("select o.address from Order o", Address.class)
.getResultList(); 아래와 같이 mapped가 안됬다고 오류가 뜹니다..
回答 2
1
오류는 잡았고, @Entity(name="orders")
라고 선언했던걸
@Entity
@Table(name="orders")
이렇게 수정했더니 되네요
어떤 차이 때문에 이런 현상이 발생하는 건지 모르겠습니다!
0
안녕하세요. kate님, 공식 서포터즈 y2gcoder입니다.
@Entity의 name 속성은 테이블명 뿐만 아니라 JPQL에서 사용할 Entity의 이름(위에서 JPQL에서 사용하셨던 Order라는 이름)마저 바꾸는 것으로 보입니다. 그래서 JPQL에서 Order에 해당하는 Entity를 찾지 못한 것으로 보입니다. 다음 링크(클릭)을 참고해주십시오!
감사합니다.
1
그렇다면 @Entity(name = "Orders")
로 지정해둔 뒤 JPQL의 Entity이름을 Orders로 지정하면 되지 않을까? 라는 생각을 해봤습니다.
em.createQuery("select o.address from Orders o", Address.class) .getResultList();
그런데 되지 않더라구요... 엔티티 클래스명과도 어느정도 연관이 있는것인지...?
0
혹시 괜찮으시다면 제가 직접 동작하는 코드를 확인하고 싶습니다!
실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 문제 영역을 실행할 수 있는 방법
2. 문제가 어떻게 나타나는지에 대한 상세한 설명
감사합니다.
실무 조언 관련 질문입니다.
0
39
1
H2데이터베이스 파일 생성
0
48
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
46
1
JPQL 메소드와 락
0
48
1
Delivery @OneToOne
0
55
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
85
2
UnsupportedOperationException 발생
0
80
3
H2 Database 연결이 안됩니다.
0
87
2
연관관계 매핑 질문드립니다.
0
78
2
h2데이터베이스 실행오류
0
103
2
persistence.xml
0
101
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
75
1
영속성 컨텍스트
0
61
1
JPA 프록시
0
87
1
Native Query와 MyBatis
0
62
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
81
1
임베디드 타입 예시 코드 관련 질문
0
110
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
89
3
인텔리제이 패키지 커서 단축키 질문
0
103
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
134
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
67
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1
데이터베이스가 초기화되는 것 같아요
1
172
2

