2012-10-24 60 views
2

我們有這個學校項目,我們正在創建一個圖書館系統,其中主要目的是使用數據庫連接。在這種情況下,JPA和ObjectDB。JPA中的SQL查詢

我們的問題是我們有3個表格。一個描述一本書(標題,作者和出版年份),第二個借書者(名字,姓氏,地址,電子郵件和電話號碼),最後一張表是從另外兩個獲得主要ID鑰匙的貸款功能表。

問題是,當我們使用列表借用書本功能時,它只打印出其他兩個表中的ID。我們認爲問題在於SQL查詢,我們沒有機會正確學習SQL。

所以我們的問題是,我們如何創建一個從查詢表中獲取標題並從借用者表中獲取姓名和首字母而不是ID的SQL查詢。

的SQL查詢,我們只管理工作是這樣的:

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

您應該發佈BookBorrow的@entity定義和任何其他相關實體。 – dispake

回答

0

它的提取和提取類型的機制問題。目前你的實體被加載得很懶,你可以在實體類中加載這些熱心地址

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條件指定如何將表綁在一起。在你的情況下,借款人表具有與person表中PersonID列相關的personID。使用JOIN建立鏈接,然後可以訪問Person表中的其他列。

完全相同的方法適用於書桌。