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 休眠插入?_Java_Hibernate - Fatal编程技术网

Java 休眠插入?

Java 休眠插入?,java,hibernate,Java,Hibernate,我正在尝试学习hibernate,想知道如何创建一对多与已有多的关系 我是否首先查询数据库以获取关系的多个部分的对象,然后将其添加到一个部分的集合中 如果你知道多方的id,那就谢谢你了 parent.getChilds().add(session.load<Child>(id)); parent.getChilds().add(session.load(id)); 这将创建一个代理,而无需转到db我认为您需要的是hibernate中的双面映射。这允许您仅向一侧添加值,并在获取时在

我正在尝试学习hibernate,想知道如何创建一对多与已有多的关系

我是否首先查询数据库以获取关系的多个部分的对象,然后将其添加到一个部分的集合中


如果你知道多方的id,那就谢谢你了

parent.getChilds().add(session.load<Child>(id));
parent.getChilds().add(session.load(id));

这将创建一个代理,而无需转到db

我认为您需要的是hibernate中的双面映射。这允许您仅向一侧添加值,并在获取时在另一侧添加值

e、 g.
城市
街道

@Entity public class City {
    @OneToMany(mappedBy="city")
    @OrderBy("streetName")
    public List<Street> getStreets() {
        return streets;
    }
...
}

@Entity public class Street {
    public String getStreetName() {
        return streetName;
    }

    @ManyToOne
    public City getCity() {
        return city;
    }
    ...
}
@实体公共类城市{
@OneToMany(mappedBy=“城市”)
@订购人(“街道名称”)
公众名单{
返回街道;
}
...
}
@实体公共类街道{
公共字符串getStreetName(){
返回街道名称;
}
@许多酮
公共城市{
回归城市;
}
...
}

有关详细信息,请查看。

您使用的是什么版本的Hibernate?您是否通过JPA访问它?你的代码样本在哪里?请在这个问题上投入更多的精力。对不起,没有代码示例,只是在阅读hibernate之后的一个一般性问题。我将使用最新版本。是的,通过JPA。我看着这个,想知道如果它已经存在的话,多个部分会起到什么作用。读到这里-。它是一对多还是多对多?因为你说多面存在,所以通常(不一定)单面也应该存在一个物体。