附录 A. 参考资料
A.1. Hibernate 属性 复制链接链接已复制到粘贴板!
属性名称 | 值 | 描述 |
---|---|---|
|
| 要使用的 JDBC 驱动程序的类名称。 |
| SA | 用户名。 |
| 密码. | |
|
| JDBC 连接 URL. |
属性名称 | 描述 |
---|---|
hibernate.dialect |
Hibernate
在大多数情况下,Hibernate 将能够根据 JDBC 驱动程序返回的 JDBC 元数据,选择正确的 |
hibernate.show_sql |
布尔值.将所有 SQL 语句写入控制台。这是将日志类别 |
hibernate.format_sql | 布尔值.在日志和控制台中仔细打印 SQL。 |
hibernate.default_schema | 使用生成的 SQL 中给定的 schema/tablespace 限定非限定表名称。 |
hibernate.default_catalog | 使用生成的 SQL 中的给定目录限定非限定表名称。 |
hibernate.session_factory_name |
org.hibernate.SessionFactory 将在创建后在 Java Naming 和 Directory 界面中自动绑定到此名称。例如: |
hibernate.max_fetch_depth |
为单点关联(一对一,多对一)设置外部连接获取树的最大深度。 |
hibernate.default_batch_fetch_size |
设置用于 Hibernate 批处理获取关联的默认大小。建议的值为 |
hibernate.default_entity_mode |
为从此 |
hibernate.order_updates | 布尔值.强制 Hibernate 按照正在更新的项目的主键值对 SQL 更新进行排序。这将导致高度并发系统中的事务死锁减少。 |
hibernate.generate_statistics | 布尔值.如果启用,Hibernate 将收集对性能调优有用的统计信息。 |
hibernate.use_identifier_rollback | 布尔值.如果启用,则在删除对象时,生成的标识符属性将重置为默认值。 |
hibernate.use_sql_comments |
布尔值.如果启用,Hibernate 将在 SQL 中生成注释,以便于调试。默认值为 |
hibernate.id.new_generator_mappings |
布尔值.此属性在使用 @GeneratedValue 时相关。它指示新的 IdentifierGenerator 实施是否用于 javax.persistence.GenerationType.AUTO、javax.persistence.GenerationType.TABLE 和 javax.persistence.GenerationType.SEQUENCE.默认值为 |
hibernate.ejb.naming_strategy |
使用 Hibernate EntityManager 时,选择 org.hibernate.cfg.NamingStrategy 实施。 如果应用程序不使用 EntityManager,请按照这里的说明配置 NamingStrategy: Hibernate Reference 文档 - Naming Strategies。
有关使用 MetadataBuilder 原生 bootstrapping 并应用隐式命名策略的示例,请参阅 Hibernate 5.0 文档中的 http://docs.jboss.org/hibernate/orm/5.0/userguide/html_single/Hibernate_User_Guide.html#bootstrap-native-metadata。物理命名策略可使用 |
hibernate.implicit_naming_strategy |
指定要使用的
默认设置由 |
hibernate.physical_naming_strategy |
可插拔策略合同,用于为数据库对象名称应用物理命名规则。指定要使用的 PhysicalNamingStrategy 类。 |
对于 hibernate.id.new_generator_mappings
,新应用程序应保留默认值 true
。使用 Hibernate 3.3.x 的现有应用可能需要将其更改为 false
,以继续使用基于序列对象或表的生成器,并且保持向后兼容性。
属性名称 | 描述 |
---|---|
hibernate.jdbc.fetch_size |
决定 JDBC 获取大小的非零值(calls |
hibernate.jdbc.batch_size |
非零值可启用 Hibernate 使用 JDBC2 批处理更新。建议的值介于 |
hibernate.jdbc.batch_versioned_data |
布尔值.如果 JDBC 驱动程序返回来自 |
hibernate.jdbc.factory_class | 选择自定义 org.hibernate.jdbc.Batcher。大多数应用都不需要此配置属性。 |
hibernate.jdbc.use_scrollable_resultset | 布尔值.启用通过 Hibernate 使用 JDBC2 可滚动结果集。只有使用用户提供的 JDBC 连接时才需要此属性。Hibernate 使用连接元数据,否则,Hibernate 将使用连接元数据。 |
hibernate.jdbc.use_streams_for_binary |
布尔值.这是一个系统级属性。在将 |
hibernate.jdbc.use_get_generated_keys |
布尔值.启用 JDBC3 Prepared |
hibernate.connection.provider_class | 自定义 org.hibernate.connection.ConnectionProvider 的类名称,它为 Hibernate 提供 JDBC 连接。 |
hibernate.connection.isolation |
设置 JDBC 事务隔离级别。检查 java.sql.Connection 以获得有意义的值,但请注意,大多数数据库不支持所有隔离级别,另一些则定义了额外的非标准隔离。标准值为 |
hibernate.connection.autocommit | 布尔值.不建议使用此属性。为 JDBC 池连接启用自动提交。 |
hibernate.connection.release_mode |
指定 Hibernate 应何时释放 JDBC 连接。默认情况下,保留 JDBC 连接,直到会话被显式关闭或断开连接。默认值为
可用值为 auto (默认)、on_close、fin
此设置仅影响 |
hibernate.connection.<propertyName> |
将 JDBC 属性 <propertyName> 传递给 |
hibernate.jndi.<propertyName> |
将属性 <propertyName> 传递给 Java 命名和目录接口 |
属性名称 | 描述 |
---|---|
|
自定义 |
| 布尔值.优化企业级缓存操作,以最小化写入,代价是更频繁的读取。此设置对群集缓存最有用,在 Hibernate3 中,群集缓存实施默认启用此设置。 |
| 布尔值.启用查询缓存。单个查询仍然需要设置可缓存。 |
|
布尔值.用于完全禁用第二级缓存,默认为指定 |
|
自定义 |
| 用于第二级缓存区域名称的前缀。 |
| 布尔值.强制 Hibernate 以更易人性的格式将数据存储在第二级缓存中。 |
|
使用 @Cacheable 或 @Cache 时用于指定默认 org.hibernate.annotations.CacheConcurrencyStrategy 的名称的设置。 |
属性名称 | 描述 |
---|---|
|
与 Hibernate |
|
|
|
|
| 布尔值.如果启用,会话将在交易完成前自动清空。内置和自动会话上下文管理是首选的。 |
| 布尔值.如果启用,会话将在交易完成后自动关闭。内置和自动会话上下文管理是首选的。 |
属性名称 | 描述 |
---|---|
|
为"当前" |
|
选择 HQL 解析器实施: |
|
用于从 Hibernate 查询中的令牌映射到 SQL 令牌(令牌可以是功能或字面名称)。例如, |
|
指明 Java 常量是否遵循 Java 命名约定。默认为
将此设置为
当此属性设为 |
|
创建 |
|
可选文件的逗号分隔名称,其中包含在 SessionFactory 创建期间执行的 SQL DML 语句。这对于测试或演示非常有用。例如,通过添加 INSERT 语句,可以在部署时使用一组最小的数据进行填充。示例值为
文件顺序很重要,因为执行给定文件的语句后再执行下列文件的声明:这些语句仅在创建架构时才执行,例如将 |
| 自定义 ImportSqlCommandExtractor 的类名称。默认为内置 SingleLineSqlCommandExtractor。这可用于实施一个从每个导入文件提取单个 SQL 语句的专用解析器。Hibernate 还提供 MultipleLinesSqlCommandExtractor,它支持拆分于多行(每个语句末尾的强制分号)的指令/注释和带引号的字符串。 |
|
布尔值.这是一个系统级属性,无法在 |
|
javasist 或 cglib 都可以用作字节操作引擎。默认值为 |
RDBMS | dialect |
---|---|
DB2 |
|
DB2 AS/400 |
|
DB2 OS390 |
|
Firebird |
|
FrontBase |
|
H2 数据库 |
|
HypersonicSQL |
|
Informix |
|
Ingres |
|
InterBase |
|
MariaDB 10 |
|
MariaDB Galera Cluster 10 |
|
Mckoi SQL |
|
Microsoft SQL Server 2000 |
|
Microsoft SQL Server 2005 |
|
Microsoft SQL Server 2008 |
|
Microsoft SQL Server 2012 |
|
Microsoft SQL Server 2014 |
|
Microsoft SQL Server 2016 |
|
MySQL5 |
|
MySQL5.5 |
|
MySQL5.7 |
|
Oracle(任何版本) |
|
Oracle 9i |
|
Oracle 10g |
|
Oracle 11g |
|
Oracle 12c |
|
Pointbase |
|
PostgreSQL |
|
PostgreSQL 9.2 |
|
PostgreSQL 9.3 |
|
PostgreSQL 9.4 |
|
Postgres Plus Advanced Server |
|
progress |
|
SAP DB |
|
Sybase |
|
Sybase 15.7 |
|
Sybase 16 |
|
Sybase 任意位置 |
|
hibernate.dialect
属性应设置为应用数据库的正确 org.hibernate.dialect.Dialect.Dialect
子类。如果指定了点数,Hibernate 将会对某些其他属性使用明智的默认值。这意味着不需要手动指定它们。
修订了 2022 年 2 月 18:22:39 +1000