Java 为什么在JPA实体关系中使用@多对一?

Java 为什么在JPA实体关系中使用@多对一?,java,jakarta-ee,jpa,javabeans,Java,Jakarta Ee,Jpa,Javabeans,我的问题可能看起来很傻。我是JPA的新手,试图理解它的基本概念。我发现有一种@multi-to-one实体关系可以在那里使用。我的问题是,为什么有人想在拥有“一对多”关系的同时使用它? 我的意思是,拥有后一个就足够了解关系并发送查询了,对吗? 如果没有,请解释。也许我对这两种关系的看法是完全错误的。请提供一个场景作为示例,以便我更好地理解。 感谢@ManyToOne和@OneToMany都属于同一概念的一部分,用于描述单一双向关系的双方 如果希望关系是单向的,即其中一个实体无法遍历到另一个实体,

我的问题可能看起来很傻。我是JPA的新手,试图理解它的基本概念。我发现有一种@multi-to-one实体关系可以在那里使用。我的问题是,为什么有人想在拥有“一对多”关系的同时使用它? 我的意思是,拥有后一个就足够了解关系并发送查询了,对吗? 如果没有,请解释。也许我对这两种关系的看法是完全错误的。请提供一个场景作为示例,以便我更好地理解。
感谢

@ManyToOne
@OneToMany
都属于同一概念的一部分,用于描述单一双向关系的双方

如果希望关系是单向的,即其中一个实体无法遍历到另一个实体,则可以使用其中一个注释。要决定哪一个,您必须决定哪一个实体应该知道关系,哪一个不应该


但通常您需要一个双向关系,然后您可以同时使用这两种关系。

OneToMany
用于映射集合。如果希望此关系是双向的,则需要在另一侧添加一个
manytone
映射

使用Hibernate映射:人员N 1地址

<class name="Person">
    <id name="id" column="personId"/>
    <many-to-one name="address" column="addressId"/>
</class>

<class name="Address">
    <id name="id" column="addressId"/>
    <set name="people">
        <key column="addressId"/>
        <one-to-many class="Person"/>
    </set>
</class>
<class name="Person">
    <id name="id" column="personId"/>
    <many-to-one name="address" column="addressId" unique="true"/>
</class>

<class name="Address">
    <id name="id" column="addressId"/>
   <one-to-one name="person" property-ref="address"/>
</class>