[Hibernate] 오류

JD_S·2022년 11월 1일
0

Hibernate

목록 보기
1/1

org.hibernate.QueryException: could not resolve property
오류 발생 원인 : 쿼리문 작성시 이름을 데이터베이스가 아닌 jpa로 생성한 필드 이름을 넣어줘야한다.

Order클래스

public class Order {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "order_id")
    private Long id;

    @ManyToOne(fetch = LAZY)
    @JoinColumn(name = "member_id")
    private Member member;
}

Member클래스

public class Member {
    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "member_id")
    private Long id;
}    

오류코드

public List<Order> findByMemberId(Long id) {
        return em.createQuery("select o from Order o where o.member_id = :id", Order.class)
                .setParameter("id", id)
                .getResultList();
}

정상코드

public List<Order> findByMemberId(Long id) {
        return em.createQuery("select o from Order o where o.member.id = :id", Order.class)
                .setParameter("id", id)
                .getResultList();
}
profile
Whatever does not destroy me makes me stronger.

0개의 댓글