3.2.2.3. 持久化单元属性


Hibernate 4.x 配置属性

JBoss EAP 6 自动设置下列 Hibernate 4.x 配置属性:

表 3.4. Hibernate 持久化单元属性
属性名 默认值 目的
hibernate.id.new_generator_mappings true
如果您使用 @GeneratedValue(AUTO) 为新条目生成唯一的索引值,这个设置就是相关的。新的应用程序应该保持默认的值 true。现有的使用 Hibernate 3.3.x 的应用程序可能需要将其修改为 false 以继续使用序列对象或基于表的生成器并保持向后的兼容性。应用程序可以在 persistence.xml 文件里覆盖这个值。
下面提供了关于这种行为的更多信息。
hibernate.transaction.jta.platform org.hibernate.service.jta.platform.spi.JtaPlatform 接口的实例
这个类将事务管理者、用户事务、事务同步注册表传入 Hibernate。
hibernate.ejb.resource_scanner org.hibernate.ejb.packaging.Scanner 接口的实例
这个类知道如何使用 JBoss EAP 注解 indexer 来提供更快的部署。
hibernate.transaction.manager_lookup_class
如果在 persistence.xml 里找到这个属性,它将被删除,因为它和 hibernate.transaction.jta.platform 相冲突
hibernate.session_factory_name QUALIFIED_PERSISTENCE_UNIT_NAME
这将设置为应用程序名称 + 持久化单元名称。应用程序可以指定不同的值但它必须在 JBoss EAP 实例上的所有应用程序部署里都是唯一的。
hibernate.session_factory_name_is_jndi false
只有应用程序没有为 hibernate.session_factory_name 指定值时它才会被设置。
hibernate.ejb.entitymanager_factory_name QUALIFIED_PERSISTENCE_UNIT_NAME
这将设置为应用程序名称 + 持久化单元名称。应用程序可以指定不同的值但它必须在 JBoss EAP 实例上的所有应用程序部署里都是唯一的。
在 Hibernate 4.x 里,如果 new_generator_mappings 被设置为 true
  • @GeneratedValue(AUTO) 映射 org.hibernate.id.enhanced.SequenceStyleGenerator
  • @GeneratedValue(TABLE) 映射 org.hibernate.id.enhanced.TableGenerator
  • @GeneratedValue(SEQUENCE) 映射 org.hibernate.id.enhanced.SequenceStyleGenerator
在 Hibernate 4.x 里,如果 new_generator_mappings 被设置为 false
  • @GeneratedValue(AUTO) 映射 Hibernate "native".
  • @GeneratedValue(TABLE) 映射 org.hibernate.id.MultipleHiLoPerTableGenerator
  • @GeneratedValue(SEQUENCE) 映射 Hibernate "seqhilo"。
关于这些属性的更多信息,请访问 http://www.hibernate.org/docs 并查看 Hibernate 4.1 Developer Guide
JPA 持久化属性

persistence.xml 文件里的持久化单元定义支持下面的 JPA 属性:

表 3.5. JPA 持久化单元属性
属性名 默认值 目的
jboss.as.jpa.providerModule org.hibernate
持久化提供者模块的名称。
如果 Hibernate 3 JAR 位于应用程序归档里,这个值应该为 hibernate3-bundled
如果这个应用程序和持久化提供者一起打包,这个值应该为 application
jboss.as.jpa.adapterModule org.jboss.as.jpa.hibernate:4
帮助 JBoss EAP 和持久化提供者一起使用的集成类的名称。
目前的有效值是:
  • org.jboss.as.jpa.hibernate:4:用于 Hibernate 4 集成类
  • org.jboss.as.jpa.hibernate:3:用于 Hibernate 3 集成类
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.