- 浏览: 928217 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (445)
- 备忘 (0)
- java基础 (28)
- jsp (15)
- css (4)
- javascript (30)
- struts (7)
- servlet (2)
- struts2 (7)
- jdbc (16)
- hibernate (22)
- ibatis (0)
- jpa (1)
- spring (17)
- spring定时任务 (8)
- 整合开发 (12)
- JavaArticle (0)
- php (6)
- velocity (2)
- mysql (19)
- sqlserver (52)
- oracle (23)
- lucene (49)
- ajax (13)
- dwr (5)
- JFreeChart (1)
- service (14)
- tools (18)
- c#基础 (20)
- 程序安全 (0)
- 学习网站 (1)
- 社会需求 (2)
- flash (1)
- 流媒体 (1)
- java_code (1)
- htmlparser (1)
- 速动画教程 (5)
- 设计模式 (1)
- xml操作 (2)
- uml操作 (4)
- 测试 (1)
- linux (8)
- 版本控制 (4)
- 服务器 (12)
- 安全 (6)
- 美工 (2)
最新评论
-
Zhang_amao:
我想问一下, 你用的lucene版本和highligher的版 ...
使用Lucene的Highlighter实现文件摘要的自动提取 -
wangmengfanwangzhi:
博主,你的QQ是什么啊?有关于lucene的问题想要请教啊~~ ...
Lucene下载及测试 -
cutesunshineriver:
讲得很好,理解起来很顺,对个人学习的帮助性很大,谢谢博主。
velocity入门一 -
libin2722:
我这里有一个任务调度,在晚上3点时候会自动将数据库中某表的数据 ...
Lucene-2.2.0 源代码阅读学习(16) -
greatwqs:
java -cp $JVM_ARGS $classpath ...
java的cp命令
hibernate.dialect | 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect |
hibernate.show_sql | 输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log category设为debug。 eg. true | false |
hibernate.format_sql | 在log和console中打印出更漂亮的SQL。 取值 true | false |
hibernate.default_schema | 在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上. 取值 SCHEMA_NAME |
hibernate.default_catalog | 在生成的SQL中, 将给定的catalog附加于非全限定名的表名上. 取值 CATALOG_NAME |
hibernate.session_factory_name | SessionFactory创建后,将自动使用这个名字绑定到JNDI中. 取值 jndi/composite/name |
hibernate.max_fetch_depth | 为单向关联(一对一, 多对一)的外连接抓取(outer join fetch)树设置最大深度. 值为0意味着将关闭默认的外连接抓取. 取值 建议在0到3之间取值 |
hibernate.default_batch_fetch_size | 为Hibernate关联的批量抓取设置默认数量. 取值 建议的取值为4, 8, 和16 |
hibernate.default_entity_mode | 为由这个SessionFactory打开的所有Session指定默认的实体表现模式. 取值 dynamic-map, dom4j, pojo |
hibernate.order_updates | 强制Hibernate按照被更新数据的主键,为SQL更新排序。这么做将减少在高并发系统中事务的死锁。 取值 true | false |
hibernate.generate_statistics | 如果开启, Hibernate将收集有助于性能调节的统计数据. 取值 true | false |
hibernate.use_identifer_rollback | 如果开启, 在对象被删除时生成的标识属性将被重设为默认值. 取值 true | false |
hibernate.use_sql_comments | 如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为false. 取值 true | false |
表 3.4. Hibernate JDBC和连接(connection)属性
hibernate.jdbc.fetch_size | 非零值,指定JDBC抓取数量的大小 (调用Statement.setFetchSize()). |
hibernate.jdbc.batch_size | 非零值,允许Hibernate使用JDBC2的批量更新. 取值 建议取5到30之间的值 |
hibernate.jdbc.batch_versioned_data | 如果你想让你的JDBC驱动从executeBatch()返回正确的行计数 , 那么将此属性设为true(开启这个选项通常是安全的). 同时,Hibernate将为自动版本化的数据使用批量DML. 默认值为false. eg. true | false |
hibernate.jdbc.factory_class | 选择一个自定义的Batcher. 多数应用程序不需要这个配置属性. eg. classname.of.Batcher |
hibernate.jdbc.use_scrollable_resultset | 允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时,这个选项才是必要的, 否则Hibernate会使用连接的元数据. 取值 true | false |
hibernate.jdbc.use_streams_for_binary | 在JDBC读写binary (二进制)或serializable (可序列化) 的类型时使用流(stream)(系统级属性). 取值 true | false |
hibernate.jdbc.use_get_generated_keys | 在数据插入数据库之后,允许使用JDBC3 PreparedStatement.getGeneratedKeys() 来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用Hibernate的标 识生成器时遇到问题,请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力. 取值 true|false |
hibernate.connection.provider_class | 自定义ConnectionProvider的类名, 此类用来向Hibernate提供JDBC连接. 取值 classname.of.ConnectionProvider |
hibernate.connection.isolation | 设置JDBC事务隔离级别. 查看java.sql.Connection来了解各个值的具体意义, 但请注意多数数据库都不支持所有的隔离级别. 取值 1, 2, 4, 8 |
hibernate.connection.autocommit | 允许被缓存的JDBC连接开启自动提交(autocommit) (不建议). 取值 true | false |
hibernate.connection.release_mode | 指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用after_statement, 这样在每次JDBC调用后,都会主动的释放连接. 对于非JTA的连接, 使用after_transaction在每个事务结束时释放连接是合理的. auto将为JTA和CMT事务策略选择after_statement, 为JDBC事务策略选择after_transaction. 取值 on_close | after_transaction | after_statement | auto |
hibernate.connection.<propertyName> | 将JDBC属性propertyName传递到DriverManager.getConnection()中去. |
hibernate.jndi.<propertyName> | 将属性propertyName传递到JNDI InitialContextFactory中去. |
表 3.5. Hibernate缓存属性
hibernate.cache.provider_class | 自定义的CacheProvider的类名. 取值 classname.of.CacheProvider |
hibernate.cache.use_minimal_puts | 以频繁的读操作为代价, 优化二级缓存来最小化写操作. 在Hibernate3中,这个设置对的集群缓存非常有用, 对集群缓存的实现而言,默认是开启的. 取值 true|false |
hibernate.cache.use_query_cache | 允许查询缓存, 个别查询仍然需要被设置为可缓存的. 取值 true|false |
hibernate.cache.use_second_level_cache | 能用来完全禁止使用二级缓存. 对那些在类的映射定义中指定<cache>的类,会默认开启二级缓存. 取值 true|false |
hibernate.cache.query_cache_factory | 自定义实现QueryCache接口的类名, 默认为内建的StandardQueryCache. 取值 classname.of.QueryCache |
hibernate.cache.region_prefix | 二级缓存区域名的前缀. 取值 prefix |
hibernate.cache.use_structured_entries | 强制Hibernate以更人性化的格式将数据存入二级缓存. 取值 true|false |
表 3.6. Hibernate事务属性
hibernate.transaction.factory_class | 一个TransactionFactory的类名, 用于Hibernate Transaction API (默认为JDBCTransactionFactory). 取值 classname.of.TransactionFactory |
jta.UserTransaction | 一个JNDI名字,被JTATransactionFactory用来从应用服务器获取JTA UserTransaction. 取值 jndi/composite/name |
hibernate.transaction.manager_lookup_class | 一个TransactionManagerLookup的类名 - 当使用JVM级缓存,或在JTA环境中使用hilo生成器的时候需要该类. 取值 classname.of.TransactionManagerLookup |
hibernate.transaction.flush_before_completion | 如果开启, session在事务完成后将被自动清洗(flush)。 现在更好的方法是使用自动session上下文管理。取值 true | false |
hibernate.transaction.auto_close_session | 如果开启, session在事务完成后将被自动关闭。 现在更好的方法是使用自动session上下文管理。取值 true | false |
表 3.7. 其他属性
hibernate.current_session_context_class | 为"当前" Session指定一个(自定义的)策略。eg. jta | thread | custom.Class |
hibernate.query.factory_class | 选择HQL解析器的实现. 取值 org.hibernate.hql.ast.ASTQueryTranslatorFactory or org.hibernate.hql.classic.ClassicQueryTranslatorFactory |
hibernate.query.substitutions | 将Hibernate查询中的符号映射到SQL查询中的符号 (符号可能是函数名或常量名字). 取值 hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC |
hibernate.hbm2ddl.auto | 在SessionFactory创建时,自动检查数据库结构,或者将数据库schema的DDL导出到数据库. 使用 create-drop时,在显式关闭SessionFactory时,将drop掉数据库schema. 取值 validate | update | create | create-drop |
hibernate.cglib.use_reflection_optimizer | 开启CGLIB来替代运行时反射机制(系统级属性). 反射机制有时在除错时比较有用. 注意即使关闭这个优化, Hibernate还是需要CGLIB. 你不能在hibernate.cfg.xml中设置此属性. 取值 true | false |
3.4.1. SQL方言
你应当总是为你的数据库将hibernate.dialect属性设置成正确的 org.hibernate.dialect.Dialect子类. 如果你指定一种方言, Hibernate将为上面列出的一些属性使用合理的默认值, 为你省去了手工指定它们的功夫.
表 3.8. Hibernate SQL方言 (hibernate.dialect)
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL | org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
Sybase | org.hibernate.dialect.SybaseDialect |
Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |
表 3.9. Hibernate日志类别
org.hibernate.SQL | 在所有SQL DML语句被执行时为它们记录日志 |
org.hibernate.type | 为所有JDBC参数记录日志 |
org.hibernate.tool.hbm2ddl | 在所有SQL DDL语句执行时为它们记录日志 |
org.hibernate.pretty | 在session清洗(flush)时,为所有与其关联的实体(最多20个)的状态记录日志 |
org.hibernate.cache | 为所有二级缓存的活动记录日志 |
org.hibernate.transaction | 为事务相关的活动记录日志 |
org.hibernate.jdbc | 为所有JDBC资源的获取记录日志 |
org.hibernate.hql.AST | 在解析查询的时候,记录HQL和SQL的AST分析日志 |
org.hibernate.secure | 为JAAS认证请求做日志 |
org.hibernate | 为任何Hibernate相关信息做日志 (信息量较大, 但对查错非常有帮助) |
表 3.10. JTA TransactionManagers
org.hibernate.transaction.JBossTransactionManagerLookup | JBoss |
org.hibernate.transaction.WeblogicTransactionManagerLookup | Weblogic |
org.hibernate.transaction.WebSphereTransactionManagerLookup | WebSphere |
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup | WebSphere 6 |
org.hibernate.transaction.OrionTransactionManagerLookup | Orion |
org.hibernate.transaction.ResinTransactionManagerLookup | Resin |
org.hibernate.transaction.JOTMTransactionManagerLookup | JOTM |
org.hibernate.transaction.JOnASTransactionManagerLookup | JOnAS |
org.hibernate.transaction.JRun4TransactionManagerLookup | JRun4 |
org.hibernate.transaction.BESTransactionManagerLookup | Borland ES |
发表评论
-
hibernate.Properties
2012-07-28 16:12 890Hibernate配置属性 属性名用途 hibernate. ... -
Restrictions
2010-05-31 09:29 1298HQL运算符 QBC运算符 含义 ... -
Hibernate 之 oscache实现二级缓存
2009-10-20 13:49 9661.导入oscache包。 2.sessionFactory ... -
正确解决org.hibernate.DuplicateMappingException
2009-10-16 14:53 1972例如异常信息如下: duplicate import ... -
Hibernate对象的三种状态
2009-10-11 21:10 1549Hibernate的对象有3种状态,分别为:瞬时态(Trans ... -
could not initialize proxy - the owning Session was closed
2009-10-11 21:01 827其实这个异常写的非常 ... -
Hibernate连接池配置
2009-10-05 08:18 899Hibernate支持第三方的连接池,官方推荐的连接池是C3P ... -
criteria用法
2009-06-01 09:20 8428Criteria Query通过面向对 ... -
hibernate.cfg.xml配置总结
2009-05-31 21:52 847Hibernate的描述文件可以是一个propertie ... -
利用c3p0配置数据库连接
2009-05-22 12:34 1284<!-- 配置数据源 --& ... -
关于Hibernate一个配置参数hibernate.hbm2ddl.auto
2009-05-13 09:55 1742<properties> & ... -
hibernate二级缓存攻略
2009-05-13 09:47 880hibernate的session提 ... -
hibernate二级缓存的配置
2009-05-13 09:39 9751、首先要打开二级缓存,在hibernate.cfg.xml中 ... -
HibernateTemplate的常规用法
2009-04-13 10:05 1055HibernateTemplate提供非常多的常用方法来完成基 ... -
JAVA通用Dao接口和hibernate的实现
2009-04-10 15:24 1199基于泛型的通用Dao接口:(主要是在使用hibernate或J ... -
Hibernate中操作问题
2008-11-18 16:53 974在使用Hibernate进行查询操作的时候,有时候会遇到只需要 ... -
多条件进行查询
2008-11-18 16:44 931StringBuffer buf = new StringBu ... -
Hibernate进行批处理的问题
2008-11-18 16:04 867在开发新闻管理系统的时候,对象进行批量处理的时候,如果直接用h ... -
Hibernate与数据库
2008-11-18 15:11 896mssql建表时用的如:user等关键字在使用hibernat ... -
Hibernate主键生成方式 Key Generator
2008-11-13 20:36 1056Hibernate主键生成方式 Key ...
相关推荐
### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。Hibernate作为一款流行的Java持久层框架,提供了一种非常便捷的方式来处理...
3. **创建 SessionFactory**:配置 Hibernate 的属性,如数据库连接信息,生成 SessionFactory 实例。 4. **构建 Criteria 查询**:使用 Session 的 createCriteria() 方法创建 Criteria 对象,然后通过 add() 添加...
Hibernate属性级别注解是Hibernate ORM框架中用于在Java对象(实体类)的属性上定义数据库映射的关键元素。这些注解使得开发人员能够无需XML配置文件就能声明对象与数据库之间的映射关系,从而简化了开发过程。以下...
"Hibernate-基础联表模板"是针对Hibernate中联表查询的一个实用工具,旨在帮助开发者快速地进行多表关联查询,而不必记住复杂的SQL语句。 1. **Hibernate简介** Hibernate是一种开源的ORM框架,它允许开发者将Java...
在处理多表关联时,Hibernate提供了一种高效且灵活的方法,尤其是当涉及到中间表的情况。中间表通常用于实现多对多(Many-to-Many)的关系,比如在一个用户和角色的关系中,一个用户可以有多个角色,一个角色也可以...
在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...
对多关系在 Hibernate 中,多对多关系通常涉及到一个中间表来存储两个实体之间的关联。以下是如何配置 Hibernate 的多对多映射关系。 1. 数据库建表 假设我们有两张表,`users` 和 `roles`,它们通过 `user_roles` ...
`<key>` 标签指定了关联的外键,`<composite-element>` 标签则用于映射 `Address` 类的属性到对应的表列。 延迟加载的工作原理基于代理模式。Hibernate 会创建一个代理对象,代替实际的集合对象。当尝试访问集合...
本篇主要围绕"hibernate的表关联操作"展开,通过映射关系来实现对实体类的增删改查,帮助我们深入理解Hibernate的核心机制。 首先,我们要明白什么是表关联。在数据库设计中,关联是表与表之间的连接,通常由外键...
其中,`hibernate.hbm2ddl.auto`属性是关键,它可以设置为`create`、`update`或`validate`,分别表示在启动时创建新表、更新现有表或验证表结构是否匹配。在本例中,我们使用`create-drop`,意味着每次应用启动时会...
以下是一些关键的Hibernate配置属性及其用途: 1. **hibernate.dialect**:这个属性用于指定针对特定数据库的方言类,以便Hibernate能生成优化过的SQL。例如,如果你使用的是MySQL,你可以设置为`org.hibernate....
3. **实体类(po)**: 在Hibernate中,实体类代表数据库中的表,类的属性对应表的字段。开发者可以通过注解或XML文件来定义这些映射关系。 4. **映射文件(hbm.xml)**: Hibernate使用XML文件(通常命名为.hbm.xml...
这可以通过`hibernate.hbm2ddl.auto`属性实现,该属性决定了Hibernate在启动时如何处理数据库 schema。如果我们想让Hibernate自动生成表,我们可以设置为`create`或`create-drop`: ```xml <property name="...
"Hibernate四大属性"是指在配置Hibernate时,我们经常会遇到的四个关键属性,它们对于理解Hibernate的工作原理和优化数据库操作至关重要。这四个属性分别是:`connection.datasource`、`hibernate.hbm2ddl.auto`、`...
标题 "Hibernate基于连接表的一对多单向关联" 涉及的是数据库对象关系映射(ORM)框架Hibernate中的一个重要概念。在Java开发中,Hibernate是广泛使用的工具,它允许开发者将Java类与数据库表进行映射,简化了数据...
Hibernate 参数设置一览表 属性名 用途 详细解读hibernate配置时的参数定义
本文将详细探讨如何使用Hibernate映射集合属性List,以及如何让Hibernate自动创建对应的数据库表,无需手动编写SQL语句。 首先,我们需要理解Hibernate的映射机制。Hibernate通过ORM(对象关系映射)技术将Java对象...
本文将深入探讨如何利用Hibernate的特性来实现动态生成表结构,以及如何处理表与表之间的关系。 一、Hibernate概述 Hibernate是一个开源的Java库,它的主要功能是将Java类与数据库表进行映射,使得程序员可以使用...
标题中的“Hibernate 单表实现树结构”是指在Java开发中,使用Hibernate框架来处理具有层级关系的数据,例如组织架构、目录树等。在数据库中,这种数据通常使用单表自连接的方式存储,即一张表中某个字段指向自身,...
其中,`hibernate.hbm2ddl.auto`属性决定了Hibernate对数据库表的操作。常见的取值有: - `create`:每次启动应用时,都会删除旧表并重新创建新表,适合开发阶段。 - `update`:只更新已有表结构,不会删除表,适用...