hibernate
文章平均质量分 93
Mr_linjw
这个作者很懒,什么都没留下…
展开
-
MySQL+Hibernate连接空闲超过8小时后自动断开解决方案
采用C3P0管理Hibernate的JDBC连接池第一步,工程内导入C3P0包第二步,修改Hibernate配置文件添加以下代码 org.hibernate.connection.C3P0ConnectionProvider23000 200040006010 truetrue转载 2015-06-23 21:30:14 · 1102 阅读 · 0 评论 -
createAlias 链接方式
有时查询一个列表是,如果创建了别名,这是它的链接方式应该是右链接,这是如果只是子对象,你会发现,如果这个别名对象为空的记录没有查出来,这时得手动设置join方式 - JoinFragment.LEFT_OUTER_JOIN(左链接)JoinFragment.LEFT_OUTER_JOIN 左JoinFragment.RIGHT_OUTER_JOIN 右JoinFragment原创 2016-02-01 16:58:41 · 1027 阅读 · 0 评论 -
关于hibernate session
一般每个请求都有各自独立的session,可以查看ID,都是不一样的每个session都会起一个缓存,当某个action请求结束后,就可以清楚叼改session的缓存所有每一个接口的执行过程及缓存为请求->hibernate从数据库读取相应的数据后会缓存下了, -> 处理过程 -> 处理完成后session.clear()退出该接口请求并清楚缓存对于事物事物原创 2016-01-12 18:16:37 · 405 阅读 · 0 评论 -
Hibernate不调用update却自动更新
CheckCell cell = (CheckCell) getById(CheckCell.class, cellId); cell.setCheckCellState(CheckCell.STATE_CONFIRM);提交事物前,不调用update(cell)也写入数据库hibernate在每个session里都会做些处理,比如把查询过的对象缓存起来什么,这个时候这些对象原创 2016-01-12 16:34:36 · 1050 阅读 · 0 评论 -
hibernate中对象的3种状态——瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。这3个状态是hibernate里pojo对象得3个状态,个人觉得这个对象始终都是pojo,而在这3个状态中得vo和po只是它这原创 2015-04-24 17:41:57 · 3575 阅读 · 1 评论 -
hibernate映射只读属性(多次映射)
需在映射文件中将insert="false" update="false",这样,该字段可被映射为多个 数据类型(assets,consumables,workflow,contract)原创 2015-06-11 15:22:15 · 1884 阅读 · 0 评论 -
hibernate的 lazy 和 fetch 一般怎么配置
fetch 和 lazy 配置用于数据的查询lazy 参数值常见有 false 和 true,Hibernate3 映射文件中默认lazy = true ;fetch 指定了关联对象抓取的方式,参数值常见是select和join,默认是select, select方式先查询主对象,再根据关联外键,每一个对象发一个select查询,获取关联的对象,形成了n+1次查询;而join方式,原创 2015-06-15 15:42:06 · 624 阅读 · 0 评论 -
hibernate查询缓慢问题(慎用排序等功能)
hibernate普通查询是性能是非常快的,即使是十几万甚至上百万的数据也是很快但是一旦用了distinct 、order by、group by 等性能会大大降低,加后可能会慢上几倍甚至10几倍吗,这个要慎用原创 2015-09-01 17:59:40 · 1666 阅读 · 0 评论 -
session saveOrUpdate merge evict小计
saveOrUpdate 如果是更新时,对象必须是 持久态(即与数据库关联)merge 如果数据库中有该记录,则更新该记录,如果不存在该记录,则进行insert操作,不管是不是持久态evict 取消对象的持久态,即脱了hibernate的管理的脱管状态 ,这个方法得注意,有事可能没脱离成功,可能是子对象或集合没设置一起脱离,可设置cascade的属性为all-delete-or原创 2016-01-28 11:38:47 · 412 阅读 · 0 评论 -
mysql开启远程链接
以下两个例子命令行登陆:mysql -uroot -p输入密码登陆进去后,输入如下的语句,执行。(第一个root指开放远程登录的用户名,第二个root为密码)例如,你想root使用root从任何主机连接到mysql服务器的话。grant all privileges on *.* to ‘root‘@’%‘ identified by ‘root‘ with g原创 2015-12-08 15:22:19 · 503 阅读 · 0 评论 -
hibernate cascade属性
cascade用于关联对象的操作,一般删除父对象时,子对象需要删除时可以设为 delete,默认为none当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联。如果删除父方对象,应该级联删除所有关联的子方对象;如果一个子方对象不再和一个父方对象关联,应原创 2016-01-07 16:32:27 · 570 阅读 · 0 评论 -
hibernate 小记
当使用 jion fetch 时,查询出多条重复记录,这是因为多表连续查询的结果可以加关键词DISTINCT查出唯一值(不过用这个性能会慢些)例子 "select cl from CheckList cl" +" left join fetch cl.checkCell cc" +" left join fetch cl.assets a" +原创 2016-01-21 14:25:37 · 394 阅读 · 0 评论 -
Hibernate事务与并发处理
什么是事务?事务,是工作中的基本逻辑单元。一个事务可能包括数据库的一系列操作,而一个完整的事务保证这些操作都被正确地同步到数据库中,不会发生数据不完整或者错误,或者受到其他干扰。事务的4个特性原子性:即作为一个事务,它是不可分割的整体,只有全部操作都完成了,才算结束;其中任何一个操作执行失败,整个事务都要撤销。一致性:即事务不能破坏数据库的完整性和业务逻辑的一致原创 2016-01-20 15:57:34 · 1861 阅读 · 0 评论 -
java对象拷贝之BeanUtils.copyProperties() 用法
一、简介:BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法:如果你有两个具有很多相同属性的JavaBean,一个很常见的情况...原创 2015-12-09 14:52:18 · 81616 阅读 · 10 评论 -
hibernate之更新对象后,子对象也给更新了
有时候更新一个对象后,由于hibernate的内在关联机制,子对象的变换给看做为修改子对象例如:一个user对象有个子对象location,修改location后,hibernate有时认为要更新location对象而报错这时,在get得user后,执行一次清除一下缓存(sesson.clear),及取消该对象与数据库得关联(游离态),再对其修改后保存,则不会报错原创 2015-10-14 16:20:55 · 1253 阅读 · 0 评论 -
hibernate链接两个数据库查询
hibernate可链接两个不同的数据库,可以都是mysql或者一个mysql一个sql seiver等;具体如下:一、(在src下)写两个Hibernate.cfg.xml文件: 如 hbn-mysql.cfg.xml和hbn-sqlserver.cfg.xml 二、分别解析上面的两个.cfg.xml文件建两个sessionFactory, 三、使用session原创 2015-09-06 14:43:16 · 924 阅读 · 0 评论 -
timestamp 的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP
timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下:1. CURRENT_TIMESTAMP 当要向数据库执行insert操作时,如果有个timestamp字段属性设为CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当原创 2016-02-15 17:55:43 · 620 阅读 · 0 评论