org.hibernate.connection包的主要封装了通过JDBC来连接数据库的操作,用户可以以数据源的方式,或者通过特定数据库驱动的方式,甚至是自己定义连接类的方式来完成数据库的连接操作,包下面的代码文件并不多,只有5个,分别是ConnectionProviderFactory.Java,ConnectionProvider.java,DriverManagerConnectionProvider.java,DatasourceConnectionProvider.java,UserS…
docs.jboss.org文档示例代码:(http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/) static { try { sessionFactory = new AnnotationConfiguration() .configure().buildSessionFactory(); } catch (Throwable ex) { // Log exception! throw new Ex…
1.Hibernate 配置文件主要用于配置**数据库连接**和 Hibernate 运行时所需的**各种属性**. 2.每一个 Hibernate 配置文件对应一个 Configuration 对象,从前一篇文章知道,可以通过 Configuration 的 configure() 方法来读取 Hibernate 的配置文件,默认读取 `hibernate.cfg.xml`. 3.配置数据库连接的基本信息,在 <session-factory> 节点内配置. (1)JDBC 连接属性 <…
1.为什么使用component组件? 当一个表的列数目比较多时,可以根据属性分类,将一个java对象拆分为几个对象. 数据库还是一张表,不过有多个对象与之对应. 2.实例 2.1 Java 对象: public class Person { private int id; private Name name; private Parents parents; public Parents getParents() { return parents; } public void setParen…
Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 语言特点 将对数据库的操作转换为对Java对象的操作,从而简化开发.通过修改一个"持久化"对象的属性从而修改数据库表中对应的记录数据. 提供线程和进程两个级别的缓存提升应用程序性能. 有丰富的映射方…
在使用hibernate的应用中,如果需要直接使用Java.sql.Connection,一般我们是通过hibernate的session.connection()获得的,然后session.close(),但connection是不需要close的. 操作一段时间后,查询会很慢,好像死机了一样.原因是查询时,session无法从连接池里获取连接, 因为连接已经达到配置的最大值. 解决办法:connection使用后,调用session.disconnection()方法可以把连接放回连接池.…
package com.trendcom.base.util; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate4.SessionFactoryUtils; import org.springframework.web.…
Why ThreadLocal? 无论如何,要编写一个多线程安全(Thread-safe)的程序是困难的,为了让线程共享资源,必须小心地对共享资源进行同步,同步带来一定的效能延迟,而另一方面,在处理同步的时候,又要注意对象的锁定与释放,避免产生死结,种种因素都使得编写多线程程序变得困难. 尝试从另一个角度来思考多线程共享资源的问题,既然共享资源这么困难,那么就干脆不要共享,何不为每个线程创造一个资源的复本.将每一个线程存取数据的行为加以隔离,实现的方法就是给予每个线程一个特定空间来保管该线程所独…
数据库连接<required>: <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver</property><property name="hibernate.connection.username">root</property><property name="hibernate.connecti…
<!-- 消除:Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException --> <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property> <!-- Echo all execute…
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclip…
严重: Exception sending context initialized event to listener instance of class [org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Un…
Hibernate 参数设置一览表 属性名 用途 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…
参考文章地址:http://www.blogjava.net/i369/articles/194855.html Hibernate 参数设置一览表 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect hibernate.show_sql 输出所有SQL语句到控制台. 有一个另外的选择是把org.hibernate.SQL这个log ca…
用hibernate写一些简单的数据库的Java应用.主要是温习一下.之前弄过的一些都忘了.发现还是得记下来,不然很快就忘. 1. Eclipse版本,用Juno, J2EE版本.最好下载zip版本的,直接解压就运行. 2. JDK安装,到Oracle上搜索jdk, 然后下载.安装JDK后,设置JAVA_HOME,指到JDK安装目录,将%JAVA_HOME%\bin放到PATH变量的最前面. 3. Maven.到Eclipse marketplace上搜索maven, 会有一个Maven Int…
最近做项目,被一个问题烦恼了很久.使用Spring MVC+Spring +Hibernate开发项目,在使用注解配置事务管理,刚开始发现无论如何数据库都无法更新,但是可以从数据库查询到数据.怀疑是配置文件的问题,但是反复确认,配置文件没有问题.后来将注解配置事务变更为注解配置事务,同样无法入库. 后来在dao层方法里面添加了session.flush()数据可以入库,但是不能回滚.正常的情况下,配置事务成功的话,事务会自动提交,session会自动flush.于是怀疑配置的事务根本就没有起到作…
最近在做一个java项目的时候遇到一个十分奇怪的问题,想到大家可能也会遇到这样的问题,所以在此发出来,希望大家遇到的时候能够快速解决! 直入主题 问题:使用quartz进行定时任务自动执行的时候,用到hibernate进行数据库交互,Tomcat运行中,会遇到在某个访问前后无故停止运行,之后的定时任务全部卡住! 问题解析:首先我从几个方面考虑这个问题. 1.quartz配置问题. 2.数据库连接超时. 3.Tomcat自动清理或者超时. 4.quartz线程死锁或阻塞. 5.hibernate…
主要原因是操作完成没有释放连接,在Hibernate中增加设定 <prop key="hibernate.connection.release_mode">after_transaction</prop>…
本文通过一个demo,介绍如何使用spring+hibernate管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立的事务,只涉及一个数据源. demo功能:实现一个能依靠两个独立的事务管理器互不干涉的管理自己的数据源的web demo. demo将实现: 1.独立地控制两个不同的数据源的事务管理器. 测试方式:restful web api 使用工具: spring 4.1.1.RELEASE hibernat…
本文通过一个demo,介绍如何使用spring+hibernate+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源的XA事务. demo将实现: 1.一次性在两个数据库的两张表中各插入一条数据并提交. 2.一次性在两个数据库的两张表中各插入一条数据并回滚. 测试方式:restful web api 使用工具: spring 4.1.1.RELEASE hibernate 4.2.4.Final atomik…
Hibernate配置属性 属性名 用途 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和con…
Hibernate原理与应用 主要内容 1.引入 2.安装配置 3.基本概念和CURD 4.HQL和Criteria 5.关联映射 6.继承映射 7.集合映射 8.懒加载 9.缓存 10.事务 11.其他 12.Hibernate不适合的场景 13.与JPA的集成(annotation方式) 14.最佳实践 1.引入 模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承.关联.多态等:数据库是关系模型,其主要概念有:表.主键.外键等. 解决办法 1使用JDBC手工转换.…
最近手里头又一桩事情蛮好玩的,就是用Hibernate进行批处理的时候,发现连接数暴增,oracle连接进程数吓死人.解决方案:不是把连接池设置成最大,那样服务器承载不了.及时清除缓存.另外在hibernate配置中加入: <property name="hibernate.jdbc.batch_size">50</property> <property name="hibernate.connection.release_mode"&…
一.传统的JDBC编程 在java开发中,以前都是通过JDBC(Java Data Base Connectivity)与数据库打交道的,至少在ORM(Object Relational Mapping)框架没出现之前是这样,目前常用的ORM框架有JPA.hibernate.mybatis.spring jdbc等,我一开始也是使用JDBC编程,后面开始使用hibernate,有一次开发一个CRM管理系统使用的是Spring JDBC操作数据库,但个人还是不太喜欢这个框架,本人目前使用的最多还是…
最近的一个项目就是移植老项目的代码,有一个模块用的是Sybase数据库,我表示从来没接触过,更不用说怎么用了.再者这东西都是几乎被淘汰的东西了,而且网上搜到的东西简直了,全是复制粘贴的. 一.使用工具连接Sybase数据库  我用的是SQL Advantage,下载地址点我,使用方法: 1.解压下载的sqladv-12_5.zip至任意目录下 2.编辑sqladv-12_5\ini目录下的sql.ini文件,添加想要连接的Sybase服务器信息.文件sqladv-12_5\ini\sql.ini…
可持久化对象有以下三种状态: 临时状态(Transient):对象在保存进数据库之前为临时状态,这时数据库中没有该对象的信息,如果没有持久化,程序退出后临时状态的对象信息将会丢失.随时可能被垃圾回收器回收(在数据库中没有于之对应的记录,应为是new初始化),而执行save()方法后,就变为Persistent对象(持久性对象),没有纳入session的管理,内存中一个对象,没有ID,缓存中也没有 持久化状态(Persistent):对象在保存进数据库后或者从数据库加载后.并且没有脱离Sessio…
转自:http://www.blogjava.net/19851985lili/articles/108128.html 由于Hibernate是为了能在各种不同环境下工作而设计的, 因此存在着大量的配置参数. 幸运的是多数配置参数都 有比较直观的默认值, 并有随Hibernate一同分发的配置样例hibernate.properties (位于etc/)来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下做一些自定义的修改. 4.1. 可编程的配置方式 一个…
<!-----------------hibernate二级缓存ehcache------------------------->hibernate配置 <prop key="hibernate.cache.use_query_cache">true</prop> <prop key="hibernate.cache.use_second_level_cache">true</prop> <prop…
Hibernate能在各种不同环境下工作而设计的, 因此存在着大量的配置参数.多数配置参数都 有比较直观的默认值, 并有随 Hibernate一同分发的配置样例hibernate.properties 来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下并做一些自定义的修改. 属性1.Hibernate JDBC属性 属性名 用途 hibernate.connection.driver_class jdbc驱动类 hibernate.connection.ur…
转载地址:http://blog.sina.com.cn/s/blog_692d0a650100xyqx.html Hibernate配置属性 hibernate.dialect:一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.取值full.classname.of.Dialect(详解见下) hibernate.show_sql:输出所有SQL语句到控制台,有一个另外的选择是把org.hibernate.SQL这个log category设…