执行 SQL 的标准是什么?
任何人都可以帮我解决以下查询的条件:
SELECT * From TableA Inner Join TableB On TableA.ID=TableB.ID
我正在尝试使用以下条件
Criteria criteria = session.createCriteria(TableA.class);
criteria.setFetchMode("TableB", FetchMode.JOIN);
上述条件检索两个表数据。
另外,如果我只需要 TableA 中的特定列,标准将如何变化?
感谢您抽出时间。
编辑:TableA 与TableB 具有一对多关系。
Can any one help me out with Criteria for following query :
SELECT * From TableA Inner Join TableB On TableA.ID=TableB.ID
I am trying with the following Criteria
Criteria criteria = session.createCriteria(TableA.class);
criteria.setFetchMode("TableB", FetchMode.JOIN);
The above criteria retrives both the table data.
Also if I need only specific columns from TableA how will the criteria Change ?
Thanks for your time.
Edit: TableA has one-to-many relationship with TableB.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题没有意义。在休眠中,这两个表实际上应该是实体,在这种情况下它们之间会有关系。您是否正在尝试随机连接 2 个表并返回结果?如果是这样,您必须使用 sql 并使用 ResultTransformer 将结果转换为对象。
如下调用:
更新:如果表 A 与表 B 具有一对多关系,那么我发现使用 Alias 最简单,
我希望这会有所帮助。问候,
Question doesn't make sense. In hibernate, the 2 Tables should actually be entities in which case they would have a relationship between them. Are you trying to randomly join 2 tables and get a result back? If so you have to use sql and use a
ResultTransformer
to convert the result into objects.Call this as follows:
UPDATE: If Table A has a 1-to-Many with Table B, then I find it easiest to use Alias
I hope this helps. Regards,
使用
JOIN
,您需要向Hibernate 表明您只需要“根实体”,即tableA。将以下内容添加到您的代码中:With
JOIN
, you need to indicate to Hibernate that you only want the "root entity", whcih is tableA. Add the following to your code: