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
Java eager-fetch在hibernate中执行左连接_Java_Hibernate - Fatal编程技术网

Java eager-fetch在hibernate中执行左连接

Java eager-fetch在hibernate中执行左连接,java,hibernate,Java,Hibernate,我正在定义一个实体,myParent,它工作得很好,除了一件事。其定义如下: @OneToMany(mappedBy = "myParent", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER) private List<Child> children; @OneToMany(mappedBy=“myParent”,cascade={CascadeType.ALL},fetch=FetchType.EAGER) 私人名单

我正在定义一个实体,myParent,它工作得很好,除了一件事。其定义如下:

@OneToMany(mappedBy = "myParent", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
private List<Child> children;
@OneToMany(mappedBy=“myParent”,cascade={CascadeType.ALL},fetch=FetchType.EAGER)
私人名单儿童;
这会导致执行左或右连接,因此如果有两个孩子,我会得到两个家长。我不想要,我只想要一个父母和两个孩子

我可以把fetchtype改成lazy,但我真的不想这样


当我选择“所有父项”时,列表中包含重复的父项,我不想要重复的父项。

您应该使用
DISTINCT\u ROOT\u实体


这意味着每一行结果都是根实体的不同实例。

您应该使用
不同的根实体


这意味着每一行结果都是根实体的一个独特实例。

非常感谢。这是唯一的办法吗?或者注释和/或参数标签是否定义默认值?您也可以使用
选择
。这可能会导致在您的数据库上执行额外的查询,尽管这可能并不理想。非常感谢。这是唯一的办法吗?或者注释和/或参数标签是否定义默认值?您也可以使用
选择
。这可能会导致在数据库上执行额外的查询,尽管这样做可能并不理想。