Hibernate组件映射

组件映射
        
        ------------------------------                            ------------------------------
        |         EmpHomeAddressd     |                            |          EmpInfo             |
        |----------------------------|                               |----------------------------|
        |    empInfo : EmpInfo        |        <-------------      |    eid : Integer              |
        |    ehoMestreet : String     |                            |    ename : String              |
        |    ehomecity : String          |                            |    ehome : EmpHomeAddress     |
        |    ehomeprovince : String      |                            ------------------------------
        |    ehomezipcode : String      |
        ------------------------------        

            在EmpInfo.hbm.xml中编写配置文件
                <component name="ehome" class="com.entity.EmpHomeAddressd">
                    <parent name="empinfo"/>
                    <property name="ehomestreet" type="java.lang.String" column="ehoMestreet"/>
                    <property name="ehomecity" type="java.lang.String" column="ehomecity"/>
                    <property name="ehomeprovince" type="java.lang.String" column="ehomeprovince"/>
                    <property name="ehomezipcode" type="java.lang.String" column="ehomezipcode"/>
                </component>
                
            注:<component>元素表明ehome属性是Empinfo类的一个组成部分,在Hibernate中称为主键
                <component>元素有以下两个属性
                    name:设定被映射的持久化类的属性名,此处为Empinfo类的ehome属性
                    class:设定ehome属性的类型,此处为ehome属性的EmpHomeAddress类型
                
            EmpHomeAddress类作为Hibernate的组件,具有以下特征:
                1.EmpHomeAddress类没有OID,在数据库后者能够没有对应的表,不需要单独创建EmpHomeAddress类的映射文件
                2.不能单独持久化EmpHomeAddress对象,EmpHomeAddress对象的生命周期依赖于Empinfo对象的生命周期
                3.其他持久化不允许关联EmpHomeAddress类,EmpHomeAddress类可以关联其他持久化类
               

作者:JamelAr
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/JamelAr/p/6490164.html