随笔分类 - [ORM]:Hibernate/Jpa
摘要:1. 当为select语句时: flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。 useCache默认为true,表示会将本条语句的结果进行二级缓存。 2. 当为insert、update、delete语句时: flushCache默认为true,表示任
阅读全文
摘要:一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我
阅读全文
摘要:解决方案 通过将 别名.* 换成 { 别名.*} hibernate 会自动为我们生成别名,具体修改如下图:
阅读全文
摘要:如果在Hibernate项目里面配了很多many-to-one的关联,即使后台在查询数据时已经作了健全性判断,但还是会经常抛出对象找不到异常:org.hibernate.ObjectNotFoundException: No row with the given identifier exists。
阅读全文
摘要:Sort.Order order=new Sort.Order(Sort.Direction.DESC,"id"); Sort sort1=Sort.by(order); return testTwoRepository.findAll(sort1);
阅读全文
摘要:脏检查 Session到底是如何进行脏检查的呢?当一个Customer对象被加入到Session缓存中时,Session会为Customer对象的值类型的属性复制一份快照。当Session清理缓存时,会先进行脏检查,即比较Customer对象的当前属性与它的快照,来判断Customer对象的属性是否
阅读全文
摘要:使用SpringBoot+Mysql+JPA实现对数据库的增删改查和分页 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 使用Springboot和jpa对数据库进行操
阅读全文
摘要:一、本文所用环境 二、工程目录 三、Maven添加依赖 四、新建数据库表 五、配置文件 六、Model层 七、DAO层 八、Service层 九、JSP页面和Controller 十、运行结果 已经充分封装DAO层和Service层 一、 本文所用环境 Spring4.0.3.RELEASE、Hib
阅读全文
摘要:转:http://www.cnblogs.com/icerainsoft/p/4648900.html 很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键。 但是,在默认情况下,insert操作返回的是一个int值,并且不是表示主键id
阅读全文
摘要:1)Hibernate中: 实体类中使用了@Table注解后,想要添加表中不存在字段,就要使用@Transient这个注解了。在网上找的方法是要将这个注解添加到自定义字段的get方法上,这样做了之后程序报错,最后试了将该注解添加到定义该字段的头部即可,例如: 即放在实体类的成员变量上部。
阅读全文
摘要:首先我们应该弄清什么是hibernate缓存:hibernate缓存是指为了降低应用程序对物理数据源的访问频次,从而提高应用程序的运行性能的一种策略。我们要将这个跟计算机内存或者cpu的缓存区分开。 一、hibernate查询的几种方式 既然是基于查询分析hibernate一级缓存,我们就来分析分析
阅读全文
摘要:execute、executeQuery和executeUpdate之间的区别 JDBC中Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。 1>方法executeQu
阅读全文
摘要:解决 a different object with the same identifier value was already associated with the session <span style="font-family:Microsoft YaHei;font-size:12px;"
阅读全文
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 目录(?)[+] 之前一直没发现这个问题,后来是因为我的导航栏数据库中数据发生变动后,产生菜单的时候又update了一遍数据库中的数据,使得部分数据值为空了,当时觉得很奇怪,
阅读全文
摘要://查询 public List<Student> getAllStudent() { String hql = "from Student"; Query query = sessionFactory.getCurrentSession().createQuery(hql); return que
阅读全文
摘要:摘要: 介绍几种Hibernate使用过程中,防止注入的几个措施 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 在获取便利操作的同时,SQL的注入问题也值得我们的密切注意,下面就来谈谈几点
阅读全文
摘要:锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修
阅读全文
摘要:大家知道,Hibernate 有 一级 cache (Session 级) 和二级 cache (需另外配置,如 ehcache),以下代码,Hibernate 在处理到大约50000条记录时,就会抛出 OutOfMemoryException, 这是因为,Hibernate 把所有新建的 Mini
阅读全文