hibernate
文章平均质量分 80
正派青年演员
这个作者很懒,什么都没留下…
展开
-
hibernate断网情况下抛异常:java.lang.reflect.InvocationTargetException.....
exception java.lang.reflect.InvocationTargetException sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun原创 2012-07-04 11:49:02 · 1807 阅读 · 0 评论 -
hibernate常见错误
Hibernate常见错误1.错误:object references an unsaved transient instance - save the transient instance before flushing:com.xxxx.bean.java.Sysblog; nested exception is org.hibernate.TransientObjectExcepti转载 2012-05-25 00:03:47 · 1683 阅读 · 0 评论 -
hibernate学习笔记(二级缓存)
有人曾经问过gave king 问他hibernate最值得他骄傲的地方是什么?大家都以为他会说:是他提供的映射文件,面向对象化的操作。而他却说:最值得骄傲的是他的缓存机制:hibernate的缓存机制分为一级缓存和二级缓存,一级缓存即sessio级别的。二级缓存是sessionFactory级别的。在二级缓存中,它不仅可以保存在内存中,还可以保存在硬盘上。当然这种缓存机制主要是针原创 2012-07-10 12:15:03 · 1005 阅读 · 1 评论 -
hibernate学习笔记(乐观锁,悲观锁)
所谓悲观锁:也就是说数据库悲剧了。它是由底层数据库控制的。举例;当你操作一个表的时候。他就会给加上一个锁。只有你自己能操作这张表,在数据提交之前别人是无法操作这个表的。这就是悲观锁。所以它的效率也是非常低的。安全性较高。如何用呢:即:student student=(Studnet)session.get(Student.class,1,LockMode.UPGRADE).执行这行原创 2012-07-09 19:03:55 · 931 阅读 · 0 评论 -
hibernate学习笔记(数据库事物,隔离级别)
数据库事物:1.数据库事物是指一组相互依赖的操作行为。事物的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败。就意味着整个事物的失败2.数据库事物是对现实生活中事物的模拟,他有一组在业务逻辑上相互依赖的sql语句组成。数据事物的4个特性(ACID):1.原子性:(Atom):不能分割。是一个独立操作。要么都成功。要么都失败2.一致性:(Consisten原创 2012-07-09 18:28:07 · 670 阅读 · 0 评论 -
hibernate学习笔记(map,set,list映射)
当如果一个类中要用到map类型的数据时。该如何保存呢?首先看一个简单的数据。就一个类。一个team类。映射两表。还有一个表就是用来存放map的key值和value值。最主要的就是映射文件了。看看映射文件该如何配置。 上面的map集合中的key值和value值都是string类型的。如果是value是对象类型原创 2012-07-07 12:15:30 · 1081 阅读 · 0 评论 -
hibernate学习笔记(HQL检索和QBC检索)
HQL检索方式: hibernate提供了Query接口,它是hibernate提供的专门的HQL查询接口,能够执行各种复杂的HQL查询语句:步骤:1.通过Session的createQuery()方法创建一个Query对象,它包含一个HQL查询语句。HQL查询语句可以包含命名参数。2.动态绑定参数,Query接口提供了给各种类型的命名参数赋值的方法,例如setString90,S原创 2012-07-08 10:13:01 · 741 阅读 · 0 评论 -
hibernate学习笔记(一对一关联关系)
一对一映射1.主键关联:一对一默认使用的是立即加载,如果需要使用延迟加载,那么需要在one-to-one元素中将constrained属性设为true,并且将加载的一方的class元素中的lazy属性设为true(或者不去设置,因为该属性默认值就是true)。一对一加载时默认使用左外连接,可以通过修改fetch属性为select修改每次发送一条select语句的形式。原创 2012-07-06 16:14:40 · 627 阅读 · 0 评论 -
hibernate学习笔记(检索策略)
默认的立即检索策略的缺点;1.select语句的数目太多,需要频繁的访问数据库。会影响检索性能。如果需要查询n个对象。那么必须执行n+1次select查询语句。这种检索策略没有利用sql的连接查询功能。例如:select * from customers left outer join orders on customers.id=orders.customer_id2.以上select语原创 2012-07-06 16:26:19 · 697 阅读 · 0 评论 -
hibernate学习笔记(多对多关联关系)
多对多关联关系:本质上就是两个一对多的关系,例如:一个学生可以选择多门课程。一门课程可以被很多学生选择。体现在代码中如下;学生类: private String id;//学生id private String name;//学生姓名 private Set course;//学生选择的课程集合 public String getId() { return id; } p原创 2012-07-06 23:44:25 · 748 阅读 · 0 评论 -
hibernate学习笔记(1)
其实hibernate完全是建立在JDBC的基础上的。那为什么还要用hibernate呢?原因:使用JDBC查询有太多重复性的转换工作,连接数据库的信息放在程序代码中,一旦需要修改数据库的信息时,必须重新修改,重新编译。不利于程序的维护。hibernate的优势:概括的说:hibernate是一个优秀的java持久化层解决方案。是当今主流的对象-关系映射工具。1.松散耦合,hi原创 2012-07-04 00:27:32 · 1169 阅读 · 0 评论 -
hibernate学习笔记(session一级缓存)
Session缓存的作用:1.减少访问数据库的频率,应用程序从内存中读取持久化对象的速度显然比到数据库查询数据的速度快多了,因此Session的缓存可以提高数据库的访问性能。2.保证缓存中的对象与数据库中的记录保持同步,当缓存中持久化对象的状态发生了变化,Session并不会立即执行相关的SQL语句,这使得Session能够把几条相关的Sql语句合并为一条sql语句,以便减少访问数据库的次原创 2012-07-05 11:42:32 · 995 阅读 · 2 评论 -
hibernate笔记(双向一对多关联映射)
双向一对多关联映射所谓一对多就是:一个对应多个,如一个班级有多个学生。一个客户有多个订单。。这种关联关系在hibernate中主要在映射文件中体现:我们可以试着写个小例子:一个客户customer类,一个订单类 /* * 客户类 */ private Long id;//主键id private String name;//客户名称 private Set o原创 2012-07-04 22:48:03 · 920 阅读 · 0 评论 -
hibernate主键生成策略
Hibernate表示符属性:在hibernate的映射文件(*.hbm.xml)文件中元素定义了持久化类的标识符属性的名称。类型和数据库表中字段的映射元素中的子元素则用来设置当前持久化类的标识符属性的生成策略increment生成策略 (适用于数据库:oralce,mySql)从数据库表中获取当前主键字段中的最大值。然后再最大值的基础上加1identity生成原创 2012-08-17 13:02:59 · 1061 阅读 · 1 评论