2012-10-24 3 views
2

우리는 데이터베이스 연결을 주 목적으로하는 서적 라이브러리 시스템을 만드는이 학교 프로젝트를 가지고 있습니다. 이 경우 JPA와 ObjectDB.JPA의 SQL 쿼리

문제는 우리가 3 개의 테이블을 가지고 있다는 것입니다. 책 (제목, 저자 및 출판 연도), 차용자 (이름, 성, 주소, 이메일 및 전화 번호)를 설명하고 마지막 테이블은 다른 두 사람으로부터 기본 ID 키를 가져 오는 대출 기능 테이블.

문제는 우리가 빌린 책 기능을 사용할 때 다른 두 테이블의 ID 만 인쇄한다는 것입니다. 우리는이 문제가 SQL 쿼리라고 생각하며 SQL을 올바르게 배울 기회를 얻지 못했습니다.

우리의 질문은 book-table의 제목과 차용 자 테이블의 성과 이름이 아닌 SQL ID를 만드는 SQL 쿼리를 만드는 방법입니다.

우리 만 작업을 관리하신 SQL 쿼리는 이것이다 :

TypedQuery<BokLån> q = em.createQuery("SELECT bookborrow FROM BookBorrow BookBorrow", BookBorrow.class); 
+0

BookBorrow와 관련된 다른 엔티티의 @entity 정의를 게시해야합니다. – dispake

답변

0

IT 인출 및 인출 형 메커니즘의 문제입니다. 현재 엔티티가 게으르면로드됩니다.

0

대출 테이블을 다른 테이블과 결합하고 거기에서 정보를 검색하려면 적절한 JOIN 문을 작성해야합니다. 의 라인을 따라

뭔가 : 작동

SELECT 
    book.title, 
    person.firstname, 
    person.lastname 
FROM 
    borrower 
    JOIN book ON book.bookid = borrower.bookID 
    JOIN person ON person.personid = borrower.personid 

방법은 ON 상태입니다 함께 테이블을 묶는 방법을 지정합니다. 귀하의 경우 borrower 테이블 person 테이블에 PersonID 열에 관련된 personID가 있습니다. JOIN과의 링크를 설정하면 Person 테이블의 다른 컬럼에 액세스 할 수 있습니다.

정확하게 동일한 방법이 책 테이블에 적용됩니다.