有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

子类和单个字段的java hibernate映射

我有这样的等级制度:

class A
{
  private String a1;
  private Class B a2;
// getter & setter
}

class B
{
  private String b1;
  private String b2;
  // getter & setter
}
class C extends class A
{
  private String c1;
  // getter and setter for c1;
}

我需要使用hibernate将C映射到数据库中的单个表。我试试这个:

<class name="com.C" 
    table="myTable" catalog="myCatalog"
    polymorphism="implicit">
    <property name="a1" type="string">
            <column name="column1" length="40" not-null="true" />
    </property>
    <property name="a2" type="????">
            ?? B should map to column2 and column3
    </property>
    <property name="c1" type="string">
            <column name="column4" length="40" not-null="true" />
    </property>
</class>

如何映射b类的字段b

谢谢


共 (1) 个答案

  1. # 1 楼答案

    Hi使用组件标记找到它:

    <class name="com.C" 
        table="myTable" catalog="myCatalog"
        polymorphism="implicit">
        <property name="a1" type="string">
                <column name="column1" length="40" not-null="true" />
        </property>
        <component name="a2" class="com.B">
            <property name="b1" type="java.lang.Integer">
                <column name="column2" />
            </property>
            <property name="b2" type="java.lang.Integer">
                <column name="column3" />
            </property>        
        </component> 
        <property name="c1" type="string">
                <column name="column4" length="40" not-null="true" />
        </property>
    </class>