2016-03-15 121 views
0

Hibernate的标准查询语言,我想从这些相关的三个表提取记录如下:加入由主键和外键关系

Book.java Book.java {投标,名称,AUTHORID //集并获得}

Author.java {援助,aName,年龄//设置和获取}

Company.java {CID,BOOKID,CNAME //设置和获取}

这些都是POJO

类和属性所以我想从所有这些表Hibernate标准查询语言获取Bid,Aid,aName,Cname,请帮我在这我是新来hcql。

注:只有主键和这些表间的外键关系,并没有一对一或一对多

+0

你可以“T如果你没有'@ ManyToOne'您的实体之间。在你的书的实体,您必须有一个'@ ManyToOne'与作者,而不是一个字符串的AuthorID – jpprade

+0

OK谢谢你,是否有可能与HQL ATLEAST?用相同的格式 –

回答

0

与HQL,你可以做这样的事情:

select book.Bid, author.Aid, author.aName, company.Cname from Book book,Author author,Company company where 
book.authorid=author.Aid and book.Bid=company.bookId 
+0

如果想我不知道这两个表之间的关系,那我怎么能在HQL做同样的,,像我在下面的格式Book_Bid,Book_authorid,Company_Cid,Author_Aid,Author_aName获得输入,且该输入可能每次我需要分析的输入,并做一些字符串操作各不相同,我们就可以在查询 –

+0

此查询是HQL。如果你不知道,我不明白这一点做这样的查询的关系,只是删除了where条件,你会得到没有意义的交叉联接 – jpprade