Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate准则返回行,即使记录不存在左外部联接_Hibernate_Hibernate Criteria - Fatal编程技术网

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_

我们有以下两张桌子。 项目:项目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_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的帮助