JPA中的SQL查询

时间:2012-10-24 09:57:45

标签: java sql jpa objectdb

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

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

问题在于,当我们使用列表借用的book-function时,它只打印出其他两个表中的ID。我们认为问题是SQL查询,我们没有机会正确学习SQL。

所以我们的问题是,我们如何创建一个SQL查询,从查询表中获取标题,从借用者表中获取名字而不是ID。

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

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

2 个答案:

答案 0 :(得分:0)

IT是获取和获取类型机制的问题。目前您的实体是惰性加载的,您可以在实体类中加载这些实体

答案 1 :(得分:0)

您需要编写一个正确的JOIN语句来将lending-table与其他表合并,并从那里检索信息。

有些事情:

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,该personID与person表中的PersonID列相关。建立与JOIN的链接,然后可以访问Person表中的其他列。

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