hibernate
艾伦蓝
Just do it
展开
-
Hibername三种状态(瞬时态 持久态 游离态)
[b][size=large][color=red]Hibernate 三种状态,tansient瞬时态、persistent持久态、detached游离态[/color][/size][/b] Hibernate三种状态之一:临时状态 (Transient):[color=blue]用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象[/color];...原创 2015-03-04 10:30:09 · 143 阅读 · 0 评论 -
Hibername三种状态(瞬时态 持久态 游离态)
r=blue]用new创建的对象,它没有持久化,没有处于Session中,处于此状态的对象叫临时对象[/color]; 表示该实体对象在内存中是自由存在的,也就是说与数据库中的数据没有任何的关联,该实体从未与任何持久化上下文联系过,没有持久化标识(相当与主键)。 瞬态实体的特征有:[color=red]与数据库中的记录没有任何关联,也就是没有与其相关联的数据库记录[/color]与Session没有任何关系,也就是没有通过Session对象的实例对其进行任何持久化的操作。 H原创 2015-03-04 10:30:09 · 92 阅读 · 0 评论 -
hibernate懒加载原理
r=red]load(Object, Serializable)[/color][/size]:[b]前提实体类不能是final的。[/b]根据id查询 。查询返回的是[color=blue]代理对象,不会立刻访问数据库,是懒加载的[/color]。当真正去使用对象的时候才会访问数据库。用load的时候会发现不会打印出查询语句,而使用get的时候会打印出查询语句。使用load时如果在session关闭之后在查询此对象,会报异常:could not initialize proxy - no Sess原创 2015-03-10 09:52:51 · 67 阅读 · 0 评论 -
Hibernate get和load方法区别
color]load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null [color=red][b]2.从检索执行机制上对比[/b][/color] get方法和find方法都是直接从数据库中检索 而load方法的执行则比较复杂首先查找session的persistent Context中是否有缓存,如果有则直接返回 如果没有则判断是否是lazy,如果不是直接访问数据库检索,查到记录返回,查不到原创 2016-07-17 20:09:06 · 82 阅读 · 0 评论 -
hibernate 一级缓存和二级缓存区别总结
[/img]原创 2016-08-26 15:26:37 · 74 阅读 · 0 评论 -
java 各个连接池学习总结(DBCP C3P0 PROXOOL)
对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。[b][color=blue]该模式正是为了解决资源的频繁分配﹑释放所造成的问题。[/color][/b]为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。[b]预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需“缓冲池”中取出一个,使用完毕之后再放回去。[/b]我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视原创 2016-11-08 19:00:55 · 99 阅读 · 0 评论 -
spring ehcache配置以及使用(afterPropertiesSet)
原创 2016-11-08 19:24:16 · 174 阅读 · 0 评论 -
Spring Boot JpaRepository知识学习(Spring Data JPA)
原创 2018-03-14 11:17:15 · 215 阅读 · 0 评论 -
Sprint @Query注解的用法(nativeQuery=true/false)(Spring Data JPA)
原创 2018-03-15 16:33:33 · 1048 阅读 · 0 评论 -
Hibernate 一对多配置实例(inverse)
"]public class Zlass{ private String class_id; private String class_name; private java.util.Set students; public void setId(String id){ this.class_id = id; } public void setClassName(String className){ this.class_name原创 2014-04-22 10:02:38 · 82 阅读 · 0 评论 -
SpringBoot JPA @Transaction 知识学习
[color=red][size=large][b]一、事务相关概念[/b][/size][/color]1、事务的特点原子性:事务是一个原子操作,由一系列的动作完成,这一系列动作要么全部完成,要么全部都不完成。一致性:一旦事务完成,事务建立的业务必须处于一致状态。隔离性:针对很多事务处理相同的数据,事务之间必须隔离起来,不能够产生数据之间的相互影响。持久性...原创 2018-03-16 09:09:13 · 323 阅读 · 0 评论 -
hibernate懒加载原理
[color=red]懒加载的意思是查询的时候不会立刻访问数据库,而返回的是代理对象,当真正去使用对象字段的时候才会访问数据库。[/color] [size=large][color=red]load(Object, Serializable)[/color][/size]:[b]前提实体类不能是final的。[/b]根据id查询 。查询返回的是[color=blue]代理对象,不会立刻访...原创 2015-03-10 09:52:51 · 107 阅读 · 0 评论 -
Hibernate 一对多配置实例(inverse)
HIBERNATE一对多配置实例1.环境:假定班级和学生是一对多的关系,班级是一,学生是多,对应表格分别是:zlass ,student2.创建Zlass和Student对象[code="java"]public class Zlass{ private String class_id; private String class_name; private jav...原创 2014-04-22 10:02:38 · 129 阅读 · 0 评论 -
Hibernate get和load方法区别
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 [color=red][b]1.从返回结果上对比[/b][/color]load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null [color=...原创 2016-07-17 20:09:06 · 75 阅读 · 0 评论 -
hibernate 一级缓存和二级缓存区别总结
[img]http://dl2.iteye.com/upload/attachment/0119/6112/08bf1b95-15be-3ac9-8fde-1eb936d76b34.png[/img][img]http://dl2.iteye.com/upload/attachment/0119/6116/2339c044-1628-3812-b257-c541259d675d.png...原创 2016-08-26 15:26:37 · 98 阅读 · 0 评论 -
java 各个连接池学习总结(DBCP C3P0 PROXOOL)
要了解Java连接池我们先要了解数据库连接池(connection pool)的原理,[color=red][b]Java连接池正是数据库连接池在Java上的应用。[/b][/color]——我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。[b][color=blue]该模式正是为了解决资源的频繁分配﹑释放所造成的问题。[/color][/b]为解决...原创 2016-11-08 19:00:55 · 150 阅读 · 0 评论 -
spring ehcache配置以及使用(afterPropertiesSet)
spring 配置ehcache例子:[url]http://blog.csdn.net/linfanhehe/article/details/7693091[/url] [color=red][b]主要特性[/b][/color] 1. 快速. 2. 简单. [b]3. 多种缓存策略[/b] 4. 缓存数据有两级:内存和磁盘,因此无需担心...原创 2016-11-08 19:24:16 · 396 阅读 · 0 评论 -
Spring Boot JpaRepository知识学习(Spring Data JPA)
[color=red][size=large][b]1.Spring Data所解决的问题 [/b][/size][/color]Spring Data:提供了一整套数据访问层(DAO)的解决方案,致力于减少数据访问层(DAO)的开发量。它使用一个叫作Repository的接口类为基础,它被定义为访问底层数据模型的超级接口。而对于某种具体的数据访问操作,则在其子接口中定义。 [code="...原创 2018-03-14 11:17:15 · 638 阅读 · 0 评论 -
Sprint @Query注解的用法(nativeQuery=true/false)(Spring Data JPA)
[color=red][b]1. 一个使用@Query注解的简单例子[/b][/color][code="java"]@Query(value = "select name,author,price from Book b where b.price>?1 and b.price原创 2018-03-15 16:33:33 · 17657 阅读 · 0 评论 -
SpringBoot JPA @Transaction 知识学习
原创 2018-03-16 09:09:13 · 433 阅读 · 0 评论