3.2.2.3. 持久化单元属性
Hibernate 4.x 配置属性
JBoss EAP 6 自动设置下列 Hibernate 4.x 配置属性:
属性名 | 默认值 | 目的 |
---|---|---|
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 属性:
属性名 | 默认值 | 目的 |
---|---|---|
jboss.as.jpa.providerModule | org.hibernate |
持久化提供者模块的名称。
如果 Hibernate 3 JAR 位于应用程序归档里,这个值应该为
hibernate3-bundled 。
如果这个应用程序和持久化提供者一起打包,这个值应该为
application 。
|
jboss.as.jpa.adapterModule | org.jboss.as.jpa.hibernate:4 |
帮助 JBoss EAP 和持久化提供者一起使用的集成类的名称。
目前的有效值是:
|