读书人

hibernate详解(3)-gt;gt;组件映射(一)

发布时间: 2012-09-03 09:48:39 作者: rapoo

hibernate详解(三)----->>组件映射(一)

?

???? Hibernate建议在进行领域模型建模时要细粒度一些,简单地说,就是类要比表多,这种映射方式就是组件(component)映射。
???? 组件类是值类型的,即它没有对象标识符属性,在数据库中也没有对应的表,它只隶属于另一个持久化类的实例。它的数据被嵌入到所隶属的持久化实例对应的数据库表的记录中。
???? 组件映射的应用有三种常见情况:把组件类作为持久化类的单个属性来使用、把组件类作为持久化类的集合属性来使用、把组件类作为持久化类的对象标识符来使用。下面分别来介绍。

?

?????? 1、组件类作为持久化类的单个属性

?????? 定义一个Address类(它是值类型的),代码如下:

?

? Address.java

?

?hibernate详解(3)->>组件映射(一)
    ?hibernate详解(3)->>组件映射(一)
      ?hibernate详解(3)->>组件映射(一)
        ?

        ?? 配置文件:hibernate.cfg.xml

        ?

        ?

        ?hibernate详解(3)->>组件映射(一)
          ?

          ?

          ? 2、组件类作为持久化类的集合属性

          ?

          ?? Photo.java

          ?

          ?hibernate详解(3)->>组件映射(一)
            ?hibernate详解(3)->>组件映射(一)
              ?hibernate详解(3)->>组件映射(一)
                ?

                ?? 配置文件:hibernate.cfg.xml

                ?

                ?

                ?hibernate详解(3)->>组件映射(一)
                  >?? ??<hibernate-configuration>?? ????<session-factory>?? ???????? ??????????<!--?数据库方言设置?-->?? ????????<property?name="hibernate.dialect">?? ????????????org.hibernate.dialect.MySQLInnoDBDialect ??????????</property>?? ???????? ??????????<!--?数据库连接参数设置?-->?? ????????<property?name="hibernate.connection.driver_class">?? ????????????com.mysql.jdbc.Driver ??????????</property>?? ????????<property?name="hibernate.connection.url">jdbc:mysql:///hibernate</property>?? ????????<property?name="hibernate.connection.username">root</property>?? ????????<property?name="hibernate.connection.password">123</property>?? ???? ??????????<!--实际操作数据库时是否显示SQL?-->?? ????????<!--? ?????????<property?name="hibernate.show_sql">true</property>-->??????????<property?name="hibernate.format_sql">true</property>?? ???????? ?????????? ??????????<!--将数据库schema的DDL导出到数据库?-->?? ????????<property?name</

读书人网 >软件架构设计

热点推荐