我们有两张桌子。 Item:item_id,name
ItemInfo:id,item_id,info_id,item_info
Item表可以在ItemInfo中有多个条目。
我想在我想要获取条目的同时加入两个表 从Item表中可能没有ItemInfo中的任何关联条目。 如何使用Hibernate标准实现此目的?
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;
}
}
答案 0 :(得分:1)
首先让我纠正你的POJO。
public class ItemInfo {
private long id;
private Item item_id;
private long info_id;
private String item_info;
//getter-setter of all
}
查找item_id数据类型的更改。相应地更改注释/映射文件。
然后尝试执行以下标准。
Criteria crit = session.createCriteria(Item.class);
crit.setFetchMode("item_id", FetchMode.JOIN);
List<Item> itemList = criteria.list();