通过主键和外键关系加入Hibernate条件查询语言
我想从以下三个相关表中获取记录: Book.javaBook.java{Bid,name,authord//set and get} Author.java{Aid,aName,age//set and get} Company.java{cId,bookId,Cname//set and get} 这些是POJO中的类和属性 因此,我想使用通过主键和外键关系加入Hibernate条件查询语言,hibernate,join,Hibernate,Join,我想从以下三个相关表中获取记录: Book.javaBook.java{Bid,name,authord//set and get} Author.java{Aid,aName,age//set and get} Company.java{cId,bookId,Cname//set and get} 这些是POJO中的类和属性 因此,我想使用HibernateCriteria查询语言从所有这些表中获取Bid、Aid、aName、Cname,请在这方面帮助我,我对hcql是新手 注意:这些表之间只
Hibernate
Criteria查询语言从所有这些表中获取Bid、Aid、aName、Cname
,请在这方面帮助我,我对hcql是新手
注意:这些表之间只有主键和外键关系,没有一对一或一对多的关系使用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
如果实体之间没有
@ManyToOne
,则无法执行此操作。在您的Book entity中,您必须拥有作者的@manytone
,而不是字符串作者。谢谢,至少可以使用hql吗?使用相同的格式如果假设我不知道这两个表之间的关系,那么我如何在hql中执行相同的操作,就像我获得以下格式的输入:Book\u Bid、Book\u authorid、Company\u Cid、Author\u Aid、,Author_aName,每次我需要解析输入并执行一些字符串操作时,此输入可能会有所不同,我可以在query中实现此查询是hql。如果你不知道这个关系,我看不出做这样一个查询有什么意义,只要删除where条件,你就会得到一个没有意义的交叉连接