Hibernate准则返回行,即使记录不存在左外部联接
我们有以下两张桌子。 项目:项目id、名称 ItemInfo:id、item\u id、info\u id、item\u信息 ItemInfo中的Item表可以有多个条目 我想同时连接以上两个表,我想获得条目 来自ItemInfo中可能没有任何关联项的Item表。 如何使用Hibernate标准实现这一点Hibernate准则返回行,即使记录不存在左外部联接,hibernate,hibernate-criteria,Hibernate,Hibernate Criteria,我们有以下两张桌子。 项目:项目id、名称 ItemInfo:id、item\u id、info\u id、item\u信息 ItemInfo中的Item表可以有多个条目 我想同时连接以上两个表,我想获得条目 来自ItemInfo中可能没有任何关联项的Item表。 如何使用Hibernate标准实现这一点 public class Item { private long item_id; private String name; public long getItem_
public class Item {
private long item_id;
private String name;
public long getItem_id() {
return item_id;
}
public void setItem_id(long item_id) {
this.item_id = item_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class ItemInfo {
private long id;
private long item_id;
private String item_info;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public long getItem_id() {
return item_id;
}
public void setItem_id(long item_id) {
this.item_id = item_id;
}
public String getItem_info() {
return item_info;
}
public void setItem_info(String item_info) {
this.item_info = item_info;
}
}
首先让我纠正你的错误
public class ItemInfo {
private long id;
private Item item_id;
private long info_id;
private String item_info;
//getter-setter of all
}
查找项id的数据类型的更改。相应地更改注释/映射文件
然后尝试执行以下条件
Criteria crit = session.createCriteria(Item.class);
crit.setFetchMode("item_id", FetchMode.JOIN);
List<Item> itemList = criteria.list();
Criteria crit=session.createCriteria(Item.class);
crit.setFetchMode(“item_id”,FetchMode.JOIN);
List itemList=criteria.List();
显示POJO或提供SQL。很抱歉格式不正确。上面是我正在使用的两个POJO。你不必道歉。而是通过点击问题下方的编辑链接,从评论中删除代码并将其添加到帖子中。并在问题中正确设置代码格式。谢谢,我能够获取具有条件的左外部联接的记录,但我还想获取在相应的Item_Info表中没有任何条目的Item的记录。感谢RAS的帮助