Hibernate
Hibernate
涂作权的博客
To do what I want to do!
展开
-
hibernate.connection.release_mode
org.hibernate.connection包的主要封装了通过JDBC来连接数据库的操作,用户可以以数据源的方式,或者通过特定数据库驱动的方式,甚至是自己定义连接类的方式来完成数据库的连接操作,包下面的代码文件并不多,只有5个,分别是ConnectionProviderFactory.java,ConnectionProvider.java,DriverManagerConnectionPro转载 2013-09-22 09:22:15 · 3995 阅读 · 0 评论 -
inverse和Cascade详解
Hibernate中的inverse在表关系映射中经常应用, inverse的值有两种,“true”和“false”。inverse="false"是默认的值,如果设置为true 则表示对象的状态变化不会同步到数据库 ;设置成false则相反; inverse的作用:在hibernate中是通过inverse的设置来决定是有谁来维护表和表之间的关系的。 我们说inve转载 2012-11-21 20:40:48 · 1446 阅读 · 0 评论 -
解决load,get,save 等is not valid without active transaction异常的原因。
org.hibernate.HibernateException:*** is not valid without active transaction 2010-12-09 15:36:07标签:休闲is not valid without active 生活Hibernate职场 Exception in thread "main" org.hibernate.Hi转载 2012-11-21 15:59:37 · 9040 阅读 · 0 评论 -
hibenate.hbm2ddl.auto属性详解
hibernate配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构. 在hibernate.cfg.xml中: Java代码 "hibernate.hbm2ddl.auto"> 它包含4个属性: create : 会根据你的mode转载 2012-11-17 11:02:00 · 889 阅读 · 0 评论 -
JTA
JTA概述 JTA,即Java Transaction API,译为Java事务API。 JTA允许应用程序执行分布式事务处理——在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。编辑本段JTA和JTS Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Tr转载 2012-11-17 10:43:05 · 1008 阅读 · 0 评论 -
SSH框架应用中常用Jar包用途介绍
commons-logging-1.0.4.jarStruts2加入了就不需要导入log4j-1.2.15.jarHibernate加入了就不需要导入 Jar文件:红色的为一定没有问题的jar包操作数据库的jarmysql-connector-java-5.0.8-bin.jar struts2commo原创 2012-11-16 02:31:47 · 1783 阅读 · 0 评论 -
Struts2.1.6+Spring2.5.6+Hibernate3.3.2+mysql整合+分页模板
Struts2.1.6+Spring2.5.6+Hibernate3.3.2+mysql整合+分页模板博客分类:JavaMySQLHibernateAOPSpringStruts 1、导入29个JAR包 JAR包名称作用Struts2.1.6(7个) struts2-core-转载 2012-11-16 01:25:53 · 1293 阅读 · 0 评论 -
Spring+Hibernate+Struts2整合所需要的Jar包
struts2.1.6 支持jar包xwork-2.1.2.jar struts2-core-2.1.6.jar commons-logging-1.0.4.jar freemarker-2.3.13.jar ognl-2.6.11.jar commons-fileupload-1.2.1.jar spring2.5.6支持jar包spring.jar cglib-nodep-转载 2012-11-16 01:16:17 · 1543 阅读 · 0 评论 -
Hibernate总结
1、一对多 单向和双向 inverse false主动的维护关系 true被动的维护关系 inverse="true" 一的一端 cascade 级联 2、多对多 inverse 必须有一端把inverse设置为true 维护关系的另一端设置成inverse="true" 两个一对多原创 2012-10-06 18:01:17 · 997 阅读 · 0 评论 -
hibernate一对多
多对一或者一对多1、单端关联: 指的是持久化类和映射文件的单端关联 和表的结构没有任何关系 可以从一个持久化类访问到另外一个持久化类,但是反之则访问不到 2、双向关联: 可以从一个持久化类访问到另外一个持久化类,但是反之则也可以说明:单端关联或者双向关联针对的是持久化类和映射文件。 多对一的关系的维护:1、关系:专指外码 维护外码原创 2012-10-06 17:58:18 · 1012 阅读 · 0 评论 -
Hibernate优化策略
1、抓取策略: 当提取一个对象的关联对象时,所要求的策略。 fetch="select" customer: lazy="false" 或者 session.get(Customer.class,id) set(order lazy="false") 当加载sessin.get(Customer.class)时,会原创 2012-10-06 17:57:29 · 1221 阅读 · 0 评论 -
Hibernate三大组成部分
1、配置文件 连接数据库所需要的参数 2、映射文件3、持久化类4、API SessionFactory类: 在hibernate容器起作用的时候,sessionFactory这个类存放了配置文件、映射文件、及持久化的一些信息 sessionFactory类是一个重量级别的类 sessionFactory类存放了数据库操作的所有的原创 2012-10-06 17:56:47 · 1796 阅读 · 0 评论 -
Hibernate延迟加载
1、类级别的延迟加载 1、 是通过session.load方法实现的 在映射文件中: lazy表示延迟加载 2、 当映射文件中,class元素的属性lazy为false时,session.load将不采用延迟加载的策略 3、 Session session = HibernateSess原创 2012-10-06 17:56:00 · 1553 阅读 · 0 评论 -
Hibernate开发中常见错误总结
org.hibernate.MappingException: Unknown entity: cn.itcast.hibernate717.helloworld.Personhibernate框架根本不知道Person这个持久化类的存在Caused by: java.sql.SQLException: Field 'id' doesn't have a default value如果原创 2012-10-06 17:54:43 · 35318 阅读 · 1 评论 -
OA中项目关系,实体设计,映射实体,增删改查
=============== 步骤 ================1,充分了解需求(包括所有的细节):分析页面等。2,设计实体/表 正向工程:设计实体 --> 建表(推荐):设计实体 --> JavaBean --> hbm.xml --> 建表 反向工程:设计表 --> 实体3,分析功能到每个请求的粒度。 得到的结果是我们需要处理多少种请求,每种请求对应一个Actio原创 2012-08-09 09:40:17 · 2460 阅读 · 0 评论 -
OA中基础功能总结
1,设计 BaseDao 与 BaseDaoImpl 1,设计接口 BaseDao 1,每个实体都应有一个对应的Dao接口,封装了对这个实体的数据库操作。例 实体 Dao接口 实现类 ======================================================== User --> UserDao --> User原创 2012-08-08 09:23:21 · 1683 阅读 · 0 评论 -
OA中SSH+JBPM项目整合
一,集成 Spring 与 Hibernate 1,配置SessionFactory 1,配置 ---------------------- applicationContext.xml ------------------------ class="org.springframework.orm.hibernate3.LocalSessi原创 2012-08-08 09:21:42 · 3033 阅读 · 0 评论 -
sessionFactory.getCurrent()和sessionFactory.openSession()的区别
sessionFactory.getCurrentSession()可以完成一系列的工作,当调用时,hibernate将session绑定到当前线程,事务结束后,hibernate将session从当前线程中释放,并且关闭session。当再次调用getCurrentSession()时,将得到一个新的session,并重新开始这一系列工作。这样调用方法如下:Session转载 2012-11-21 23:23:47 · 3066 阅读 · 0 评论 -
Hibernate缓存和ehcache
缓存的概念 计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是存储源总的数据的拷贝。缓存的物理介质通常是内存。 Hibernate中提供了两个级别的缓存 Session级别的缓存 它是属于事务范围的缓原创 2012-11-22 22:04:32 · 1450 阅读 · 0 评论 -
Hibernate主键生成策略总结(这里面讲的很详细)
Hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定关键字来告诉hibernate我们要使用的主键生成方式,然后hibernate会根据设定完成数据库的主键控制。一、首先通过举例子来了解实体映射文件(*.hbm.xml)中对id生成策略配置格式 用户User的实体类User.java [java] view plaincopy转载 2013-10-07 13:35:02 · 1997 阅读 · 0 评论 -
Hibernate 参数设置一览表
<table border="1" summary=" Hibernate配置属性 ">属性名用途hibernate.dialect一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.取值 full.classname.of.Dialecthiberna原创 2013-09-26 08:54:56 · 1259 阅读 · 0 评论 -
Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
在HQL中可以使用表达式完成指定的运算或者作为限制查询结果的条件。如下表所示|-----------------------------------------------------------|| 类别 | 运算符 ||---------------------------|--------转载 2013-10-13 17:40:53 · 3076 阅读 · 0 评论 -
HQL返回对象
http://www.360doc.com/content/07/1010/19/16915_801851.shtml转载 2013-11-06 20:34:38 · 1068 阅读 · 0 评论 -
java web项目里ehcache.xml的参数说明
name:缓存名称。 maxElementsInMemory:缓存最大个数。 eternal:对象是否永久有效,一但设置了,timeout将不起作用。 timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。 t原创 2014-02-23 13:58:44 · 1599 阅读 · 0 评论 -
Hibernate中的一段批量插入功能的代码
/** * 批处理保存信息 */ public void batchsave(List entity) { Session session = getSession(); T t = null; // 创建药品对象 // 循环获取药品对象 for (int i = 0; i t = (T) entity.get(i); // 获取药品 se原创 2014-05-28 09:09:57 · 1232 阅读 · 0 评论 -
Hibernate的延迟加载
---------------------------------------------- 一 -------------------------------------------转自:http://blog.csdn.net/java958199586/article/details/7069901hibernate延迟加载(懒加载)详解一.什么是懒加载?他的作转载 2015-01-20 11:46:13 · 1026 阅读 · 0 评论 -
JPA(三)之实体关系一对多(多对一)
1.背景介绍: 对于购买商品时,订单信息(Order)和订单商品信息(OrderItem)的关系就是一对多的关系。 2.实体bean: Order.java代码 ?123456789101112131415161718192021222转载 2015-03-13 14:55:25 · 967 阅读 · 0 评论 -
Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
package com.ucap.netcheck.dao.impl;import java.util.ArrayList;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import o原创 2015-04-16 23:43:21 · 4080 阅读 · 0 评论 -
Hibernate查询,返回new对象(注意这个新定义的类要有构造函数),使用sql带条件分页查询并且把结果显示到一个对象的集里面的解决方案
IIndexDaopackage com.ucap.netcheck.dao;import com.ucap.netcheck.combination.beans.IndexCombinationBean;import com.ucap.netcheck.common.Page;import com.ucap.netcheck.common.dao.GenericDao;原创 2015-04-11 00:15:23 · 3646 阅读 · 0 评论 -
Hibernate统计表中的条数
/** * 判断积分日志表中是否有某个用户的注册日志 */@Transactional(propagation = Propagation.REQUIRED)public boolean isExistRegPointLog(int userId, UserAction addReg) { try { String hql = "select count(pl) from PointLog原创 2015-08-20 11:00:58 · 1374 阅读 · 0 评论 -
hibernate.jdbc.fetch_size 和 hibernate.jdbc.batch_size
这两个选项非常非常非常重要!!!将严重影响Hibernate的CRUD性能! C = create, R = read, U = update, D = delete Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数。 例如一次查询1万条记录,对于Oracle的JDBC驱动来说,是不会1次性把1万条取出来的,而只会取出Fet转载 2013-09-17 08:53:23 · 1267 阅读 · 0 评论 -
Criteria: Order
/////////////////////////////////////////////////////////////////////////import java.util.*;import java.sql.*;import org.hibernate.*;import org.hibernate.criterion.*;public class Main转载 2013-08-14 00:22:53 · 1308 阅读 · 0 评论 -
hibernate 延迟加载的错误 failed to lazily initialize a collection of role
这个问题一般出现在一对多的情况下,解决的方法有两种1、设置lazy=false如果是用annotation,则配置如下@OneToMany( targetEntity = CourseAuthorizationItem.class, cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "c转载 2012-12-26 15:30:27 · 1998 阅读 · 0 评论 -
Hibernate模糊查询
和SQL查询一样,Hibernate,HQL使用like关键字进行模糊查询。模糊查询能够比较字符串是否与指定的字符串模式匹配。其中使用通配符表示:如下%(百分号):匹配任意类型、任意长度的字符串,中文则需要两个百分号"%%"_(下划线):匹配单个任意字符,一般用来限制字符串表达式的长度。下面举例说明:1.检索姓名以"M"开头的同学: String queryString="原创 2012-12-17 11:32:33 · 14440 阅读 · 0 评论 -
dynamic-insert="true" dynamic-update="true",插入默认值的情况
今天在做一个OA的简单增删除该查的时候,有一个时间类型的字段(数据插入时间),本身想着,这个字段直接中Oracle数据库设置一个Default Value ,就不用再前台install这个字段的值了,但是后时间操作中发现插入的时候如果不通过hql去写代码的话,而是通过hibernate的接口getHibernateTemplate().saveOrUpdate(entity);的话,就出现问题,插转载 2012-12-16 12:32:30 · 3305 阅读 · 0 评论