2

我们有这个学校项目,我们正在创建一个图书库系统,其主要目的是使用数据库连接。在这种情况下,JPA 和 ObjectDB。

我们的问题是我们有 3 张桌子。一个描述一本书(书名、作者和出版年份),第二个是借阅者(名字、姓氏、地址、电子邮件和电话号码),最后一个表是从其他两个获取主 ID 密钥的借出功能表。

问题是当我们使用列表借书功能时,它只打印出另外两个表中的 ID。我们认为问题出在 SQL 查询上,我们还没有机会正确学习 SQL。

所以我们的问题是,我们如何创建一个 SQL 查询,从 book-table 中获取 title 以及从 borrower 表中获取名字和姓氏,而不是 ID。

我们只能设法工作的 SQL 查询是这样的:

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

2 回答 2

0

IT 是 fetch 和 fetch 类型机制的问题。目前您的实体是惰性加载的,您可以在实体类中急切地加载它们

于 2012-10-24T10:02:19.727 回答
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 条件指定如何将表绑定在一起。在您的情况下,借用者表有一个 personID,它与 person 表中的 PersonID 列相关。建立与 JOIN 的链接,然后您可以访问 Person 表中的其他列。

完全相同的方法适用于书桌。

于 2012-10-24T10:21:03.303 回答