使用hibernate,如何在xml中编写@OneToMany(mappedBy =“somethingFkId”)?

时间:2013-07-23 13:12:30

标签: java hibernate jpa hql

有没有人知道如何在xml中编写@OneToMany(mappedBy="customers")

我到处搜索但没有找到任何人在xml中编写mappedBy。我需要映射一对多mapAy其他现有实体中的其他列,而不创建新实体(如连接表)或新列。我没有权利添加其他列或表。我知道这样做的方法是使用hibernate anotation @OneToMany(mappedBy="customers")

但是如何在xml中编写它?因为我的其他项目使用不支持注释的java 1.4,所以我不能使用@OneToMany(mappedBy="customers")

java 1.6中的类似内容:

表B中的

@OneToMany(mappedBy="bId", cascade = CascadeType.DETACH)
private Set<AJoinB> testJoins = new HashSet<AJoinB>();
表AJoinB中的

@Column(name = "B_ID", nullable = false)
private Long bId;

4 个答案:

答案 0 :(得分:1)

这是一对多的例子:

   <set name="stockDailyRecords" table="stock_daily_record" 
            inverse="true" lazy="true" fetch="select">
        <key>
            <column name="STOCK_ID" not-null="true" />
        </key>
        <one-to-many class="com.mkyong.stock.StockDailyRecord" />
    </set>

反向将会是谁拥有者

答案 1 :(得分:0)

以下是我在代码中的示例,实用程序可以有多个帐户

第一个声明在Account.hbm.xml配置中,第二个声明在我的Utility.hbm.xml中

    <many-to-one name="utility" class="com.entity.Utility" fetch="select" lazy="false">
        <column name="utility_id" not-null="true" />
    </many-to-one>


    <property name="utility_id" not-null="true">
        <column name="utility_id" />
    </property>

*注意我在我的java文件和hibernate文件中都声明了这一点,因为这是我最初的教导方式。所以我不能100%确定这个独立的能力。

答案 2 :(得分:0)

这里有一个在xml http://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/

中使用一对多标记的示例

答案 3 :(得分:0)

“一对多”元素具有“映射的”属性,可以按如下所示使用。

<?xml version="1.0" encoding="UTF-8" ?>

<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd"
    version="2.0">
    <package>com.chiranth.bean</package>
    <entity class="Person" >
        <attributes>
            <id name="id">
                <column name="sl_no" />
                <generated-value strategy="IDENTITY" />
            </id>
            <basic name="name" />
            <basic name="place" />
            <basic name="age" />
            <basic name="dateOfBirth">
                <column name="birthdate" />
            </basic>
            <one-to-many name="cars" mapped-by="person"/>
        </attributes>
    </entity>
</entity-mappings>