`

Persistence Unit中的类集合

    博客分类:
  • EJB3
阅读更多
一个persistence unit将固定数量的一组类映射到关系数据库。缺省情况下,如果你没有在persistence.xml中指定任何元数据,persistence provider就会对包含该persistence.xml的JAR文件进行扫描,从根目录开始搜寻任何标注有 @javax.persistence.Entity注解的类,并将这些类添加到由persistence unit管理的类集合中。此外,你还可以通过<jar-file>元素指定额外的JAR文件,以供persistence provider搜索。该元素的值不能使用绝对路径,只能是一个以包含persistence.xml的JAR文件为基准的相对路径。

  <persistence>
  <persistence-unit name="titan">
  <jta-data-source>java:/OracleDS</jta-data-source>
  <jar-file>../lib/customer.jar</jar-file>
  <properties>
  <property name="org.hibernate.hbm2ddl">update</property>
  </properties>
  </persistence-unit>
  </persistence>
  JAR文件的自动扫描在Java EE环境下是保证可以正常执行的,但在Java SE应用程序中却无法做到可移植。理论上,要决定必须搜索哪些JAR文件也许是不太可能的。不过,现实中这不是问题。参与EJB 3.0专家组的主要厂商都非正式地宣称过,它们会毫无疑问的在Java SE中支持这一特性。无论是否使用自动JAR文件扫描,你都可以用<class>元素显式的列出persistence unit中的类集合。

  <persistence>
  <persistence-unit name="titan">
  <jta-data-source>java:/OracleDS</jta-data-source>
  <class>com.titan.domain.Cabin</class>
  <class> com.titan.domain.Customer</class>
  <properties>
  <property name="org.hibernate.hbm2ddl">update</property>
  </properties>
  </persistence-unit>
  </persistence>
  <class>元素中所列的Cabin和Customer类将会与其他从persistence unit中检索出来的类一起被添加到类集合中。如果不希望自动扫描Persistence.xml中JAR文件中的类,那么你可以使用< exclude-unlisted-classes>元素。

  <persistence>
  <persistence-unit name="titan">
  <jta-data-source>java:/OracleDS</jta-data-source>
  <class>com.titan.domain.Cabin</class>
  <class>com.titan.domain.Customer</class>
  <exclude-unlisted-classes/>
  <properties>
  <property name="org.hibernate.hbm2ddl">update</property>
  </properties>
  </persistence-unit>
  </persistence>
  最终,类集合将由所有下列元数据的合集来决定。

  包含persistence.xml的JAR文件中标有@Entity注解的类(除非指定了<exclude- unlisted-classes>)

  <jar-file>元素指定的JAR文件里标有@Entity注解的类

  在META-INF/orm.xml文件里映射的类(如果存在该文件的话)

  在<mapping-file>元素所指定的XML文件中映射的类

  任何用<class>元素列出的类

  通常情况下,你无需指定<class>,<jar-file>或<mapping-file>元素。但是有一种情形你可能需要使用上述元素,即当你需要在两个或多个persistence unit中映射同一个类时。
分享到:
评论

相关推荐

    Hibernate中文详细学习文档

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...

    Hibernate+中文文档

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...

    Hibernate 中文 html 帮助文档

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic...

    hibernate3.2中文文档(chm格式)

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...

    hibernate3.04中文文档.chm

    9.2. 在集合中出现的依赖对象 9.3. 组件作为Map的索引(Components as Map indices ) 9.4. 组件作为联合标识符(Components as composite identifiers) 9.5. 动态组件 (Dynamic components) 10. 继承映射...

    Hibernate3+中文参考文档

    8.2. 在集合中出现的依赖对象 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射...

    HibernateAPI中文版.chm

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...

    hibernate 框架详解

    在集合中出现的依赖对象 9.3. 组件作为Map的索引(Components as Map indices ) 9.4. 组件作为联合标识符(Components as composite identifiers) 9.5. 动态组件 (Dynamic components) 10. 继承映射...

    最全Hibernate 参考文档

    8.2. 在集合中出现的依赖对象 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射...

    Hibernate参考文档

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    8.2. 在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 ...

    hibernate 体系结构与配置 参考文档(html)

    在集合中出现的依赖对象 (Collections of dependent objects) 8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic ...

    Hibernate教程

    9.2. 在集合中出现的依赖对象 9.3. 组件作为Map的索引(Components as Map indices ) 9.4. 组件作为联合标识符(Components as composite identifiers) 9.5. 动态组件 (Dynamic components) 10. 继承映射...

    Servlet3.1规范(最终版) PDF

    Servlet3.1规范(最终版) JavaTM Servlet 规范 版本 3.1(最终版) Shing Wai Chan Rajiv Mordani [作者] 穆茂强 张开涛 [译者] 2012年6月翻译 2013年7月修订 目录 前言 ..................................

    Java™ Servlet 规范.

    目录 前言 ............................... 3 其他资料 ......................................................................................................................................................

Global site tag (gtag.js) - Google Analytics