Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Hibernate JPA中的多层嵌套组件_Hibernate - Fatal编程技术网

Hibernate JPA中的多层嵌套组件

Hibernate JPA中的多层嵌套组件,hibernate,Hibernate,我知道使用hibernate映射文件,我们可以将一个组件嵌套在另一个组件中。 例如: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate

我知道使用hibernate映射文件,我们可以将一个组件嵌套在另一个组件中。 例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.hibernaterecipes.chapter3">
<class name="Orders" table="BOOK_ORDERS">
<id name="id" type="long" column="ID">
<generator class="native" />
</id>
<component name="weekdayContact" class="Contact">
    <property name="recipient" type="string" column="WEEKDAY_RECIPIENT" />
    <component name="phone" class="Phone">
        <property name="areaCode" type="string" column="WEEKDAY_AREACODE" />
        <property name="telNo" type="string" column="WEEKDAY_TELEPHONE" />
    </component>
    <property name="address" type="string" column="WEEKDAY_ADDRESS" />
</component>
<component name="holidayContact" class="Contact">
    <property name="recipient" type="string" column="HOLIDAY_RECIPIENT" />
    <component name="phone" class="Phone">
        <property name="areaCode" type="string" column="HOLIDAY_AREACODE" >
        <property name="telNo" type="string" column="HOLIDAY_TELEPHONE" />
    </component>
    <property name="address" type="string" column="HOLIDAY_ADDRESS" />
</component>
    </class>
    </hibernate-mapping>

根据我的理解,我们不能对JPA做同样的事情。理解正确吗

根据我的理解,我们可以对JPA做同样的事情。理解正确吗

是和否。JPA1.0只支持遵循规则的属性,这意味着它不支持其他@Embedded。但是JPA2.0支持它

根据我的理解,我们可以对JPA做同样的事情。理解正确吗


是和否。JPA1.0只支持遵循规则的属性,这意味着它不支持其他@Embedded。但是JPA2.0支持它

@parenon:我的意思是它们是“属性”,而不是“关系”。@axtavt:对,但属性也有误导性:-)对于Java来说,属性可以是带有@manytone或@Embedded注释的东西,也可以是@Basic(如原语+时间戳、日期等)。“两类对象之间的关系”是准确的,只要我们不象在关系模型中那样读“关系”。@partenon:但JPA中的“关系”一词通常指“实体之间的关系”,即
@manytone
等等。@axtavt我同意,这是通常的理解,尽管它实际上意味着更多。我将再次编辑答案:-)@parenon:我的意思是它们是“属性”,而不是“关系”。@axtavt:对,但属性也有误导性:-)对于Java,属性可以是带有@ManyToOne或@Embedded注释的东西,也可以是@Basic(如原语+时间戳、日期等)。“两类对象之间的关系”是准确的,只要我们不象在关系模型中那样读“关系”。@partenon:但JPA中的“关系”一词通常指“实体之间的关系”,即
@manytone
等等。@axtavt我同意,这是通常的理解,尽管它实际上意味着更多。我将再次编辑答案:-)