Hibernate经典总结:容器映射

 

 

如一个人有多个email地址

在person的pojo中可以设置一个email地址的Set集合

private Set<String> emails;

而设置email表的时候,注意要采用符合主键的方式

CREATE TABLE email (

    pid               int               not null,

    email             varchar(50)          not null,

    primary key (pid,email)

);

 

容器映射,只生成一个pojo类Person,因此在生成映射时,也只生成一个映射文件,将有关email的处理,加入到Person的映射文件中。

<hibernate-mapping>

    <class name="org.liky.pojo.Person" table="person" catalog="testdb">

        <id name="id" type="java.lang.Integer">

            <column name="id" />

            <generator class="native" />

        </id>

        <property name="name" type="java.lang.String">

            <column name="name" length="10" not-null="true" />

        </property>

        <property name="age" type="java.lang.Integer">

            <column name="age" />

        </property>

        <!-- 表示在Person类中有一个名为emailsset集合,该集合中保存的数据对应email -->

        <set name="emails" table="email">

        <!-- email表中有一个字段pidperson表关联 -->

        <key column="pid"></key>

        <!-- set集合中保存的数据类型为String ,与email表中的email字段对应 -->

        <element type="java.lang.String" column="email"></element>

        </set>

    </class>

</hibernate-mapping>

注意:

1·只有当email表为符合主键时,可以使用该配置

2.对于元素的类型必须为Java支持的数据类型,而不能是开发人员自行定义的类型

3.email表中必须有一个字段与person表对应。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值