![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hibernate
文章平均质量分 67
boshaoliu
这个作者很懒,什么都没留下…
展开
-
hibernate的n+1查询问题
在session的缓存中存放的是相互关联的对象图。默认情况下,当Hibernate从数据库中加载Customer对象时,会同时加载所有关联的Order对象。以Customer和Order类为例,假定ORDERS表的CUSTOMER_ID外键允许为null,图1列出了CUSTOMERS表和ORDERS表中的记录。 以下session的find()方法用于到数据库中检索所有的Custom...原创 2013-06-27 21:04:59 · 91 阅读 · 0 评论 -
Hibernate多对一单向关联(annotation/xml)
1.annotatiton实体类Group.javapackage com.test.hiberenate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persisten...原创 2013-08-29 23:55:23 · 69 阅读 · 0 评论 -
Hibernate一对多单向关联(annotation/xml)
1.annotatiton实体类Group.javapackage com.test.hiberenate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;...原创 2013-08-29 23:57:08 · 48 阅读 · 0 评论 -
Hibernate一对多(多对一)双向关联(annotation/xml)
1.annotatiton实体类Group.javapackage com.test.hiberenate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;...原创 2013-08-29 23:59:00 · 90 阅读 · 0 评论 -
Hibernate多对多单向关联(annotation/xml)
1.annotatiton实体类Student.javapackage com.test.hiberenate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;...原创 2013-08-31 12:31:36 · 63 阅读 · 0 评论 -
Hibernate多对多双向关联(annotation/xml)
1.annotatiton实体类Student.javapackage com.test.hiberenate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;...原创 2013-08-31 12:31:50 · 74 阅读 · 0 评论 -
Hibernate关联关系的CRUD和集合映射(annotation)
设定cascade可以设定在持久化时对于关联对象的操作。cascade的属性指明在做什么操作的时候关联对象是绑定在一起的。双向关联:1.设定mappedBy2.在程序中要设定双向关联(对象之间)cascade管的是增删改,而fecth管的是读取一对多关系中,一的一方,默认的fecth为LAZY,而多一方,默认的fecth为EARGELAZY只能取到本身对象,而EARGE...原创 2013-08-31 12:34:13 · 85 阅读 · 0 评论 -
Hibernate继承映射(annotation)
三种方式:1.一张总表SINGLE_TABLE2.每个类分别一张表TABLE_PER_CLASS3.每个子类一张表JOINED第一种:只有一张总表,表中有个字段区分每条记录属于哪个子类Person.javapackage com.test.hiberenate.model;import javax.persistence.DiscriminatorColumn;...原创 2013-08-31 22:49:31 · 142 阅读 · 0 评论 -
Hibernate映射树形结构
Orgnization.javapackage com.test.hiberenate.model;import java.util.HashSet;import java.util.Set;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persi...原创 2013-09-01 00:53:57 · 173 阅读 · 0 评论 -
Hibernate学生-课程-成绩表的例子(many2many)
Course.java(课程表)package com.test.hiberenate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Course { pr...原创 2013-09-03 19:36:20 · 256 阅读 · 0 评论 -
hibernate N+1问题解决办法
Category.javapackage com.test.hiberenate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import org.hibernate.annotations.Batch...原创 2013-09-03 19:38:38 · 127 阅读 · 0 评论 -
hibernate一级缓存、二级缓存和查询缓存
一级缓存:session级别的缓存。二级缓存:sessionFactory级别的缓存,可以跨越session存在。load和iterator默认使用二级缓存。list默认往二级缓存中加数据,但是查的时候不从二级缓存中取数据。二级缓存适合放的对象:经常被访问、改动不大(不经常改动)、数量有限。打开二级缓存:1.hibernate.cfg.xml设置:(以OSCach...原创 2013-09-04 22:16:53 · 65 阅读 · 0 评论 -
数据库事务、hibernate悲观锁和乐观锁
1.ACID属性原子性(atomic) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。一致性(consistent) 事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须...原创 2013-09-06 19:01:43 · 82 阅读 · 0 评论 -
Hibernate组件映射(annotation/xml)
1.annotatiton实体类的一部分Wife.javapackage com.test.hiberenate.model;public class Wife { private String name; private int age; public String getName() { return name; } public vo...原创 2013-08-29 23:50:46 · 90 阅读 · 0 评论 -
Hibernate一对一单向外键关联 (联合主键annotation)
组件类WifePK.javapackage com.test.hiberenate.model;import java.io.Serializable;public class WifePK implements Serializable { private int id; private String name; public int getId() ...原创 2013-08-28 19:43:05 · 78 阅读 · 0 评论 -
hibernate 初探
Struts+spring+hiberenate流程客户端发起一个请求到应用服务端,应用服务端把这个请求分发给struts,它会找到对应的action执行execute方法,在这个方法里面调用service层进行业务逻辑处理,在进行业务逻辑处理的时候,调用dao层来访问model层的实体对象,进而持久化数据库,当一系列的操作完成之后,dao层把结果返回给service层,service层返...原创 2013-08-17 18:36:00 · 106 阅读 · 0 评论 -
使用java反射机制简单模拟hibernate的save
实体类:Student.javapublic class Student { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; }...原创 2013-08-18 14:44:50 · 131 阅读 · 0 评论 -
hibernate Log4j日志配置
Hibernate本身有slf4j日志框架API,实现这个日志框架的jar包有:slf4j-nop、log4j、jdk logging、apache commons-logging等等 这里使用log4j实现slf4j接口,需要用到的jar包有:(1)slf4j-api-1.6.1.jar(2)log4j-1.2.16.jar(3)slf4j-log4j12-1.6.1.j...原创 2013-08-18 16:26:56 · 88 阅读 · 0 评论 -
Hibernate主键生成策略(annotation)
用@GeneratedValue注解标明主键生成策略1.不标明主键生成策略或者标明AUTO主键生成策略,oracle默认SEQUENCE,mysql默认IDENTITY。2.标明IDENTITY主键生成策略,mysql支持,oracle不支持,而SEQUENCE主键生成策略,mysql不支持,oracle支持。3.hibernate自动生成的SEQUENCE名称为:HIBERNAT...原创 2013-08-20 23:34:39 · 114 阅读 · 0 评论 -
Hibernate操作Oracle报错 java.sql.SQLException: 不支持的特性
今天测试hibernate的主键生成策略的时候,出现以下错误信息:(hibernate是3.4.0版本,数据库是oracle9i)错误描述:23:36:52,093 WARN SettingsFactory:140 - Could not obtain connection metadatajava.sql.SQLException: 不支持的特性 at oracle.jdbc...原创 2013-08-20 23:51:36 · 653 阅读 · 0 评论 -
Hibernate联合主键生成策略
第一种XML组件类:StudentPK.javapackage com.test.hiberenate.model;import java.io.Serializable;public class StudentPK implements Serializable { private int id; private String name; public ...原创 2013-08-21 22:43:18 · 131 阅读 · 0 评论 -
Hibernate中openSession和getCurrentSession的区别
openSession:永远打开的是一个新的session,需要close。 getCurrentSession:如果上下文中已经有了session,就拿当前上下文的session,如果没有,就打开一个新的session,事务一旦提交,再次getCurrentSession的session就是一个新的session。不需要close(如果close了就会报错误信息:org.hibern...原创 2013-08-22 00:10:45 · 79 阅读 · 0 评论 -
Hibernate的update
1.用来更新detached对象,更新完后转为persistent状态Session session = sf.getCurrentSession();Transaction t = session.beginTransaction();Teacher teacher = (Teacher) session.get(Teacher.class, 1);t.commit();...原创 2013-08-23 23:46:05 · 130 阅读 · 0 评论 -
Hibernate的saveOrUpdate/clear/flush
1.saveOrUpdateTeacher teacher = new Teacher();teacher.setName("赵三");teacher.setTitle("哈哈哈");Session session = sf.getCurrentSession();Transaction t = session.beginTransaction();session.s...原创 2013-08-23 23:47:30 · 207 阅读 · 0 评论 -
Hibernate的SchemaExport(生成建表语句)
new SchemaExport(new Configuration().configure()).create(false, true); create方法第一个参数script:print the DDL to the console,第二个参数export:export the script to the database...原创 2013-08-23 23:48:07 · 223 阅读 · 0 评论 -
Hibernate一对一单向外键关联(annotation/xml)
1.annotation实体类Wife.javapackage com.test.hiberenate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class ...原创 2013-08-25 20:03:31 · 81 阅读 · 0 评论 -
Hibernate一对一双向外键关联(annotation/xml)
1.annotation实体类Wife.javapackage com.test.hiberenate.model;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence...原创 2013-08-25 20:06:17 · 77 阅读 · 0 评论 -
struts2、spring和hibernate整合时遇到的一些问题
1.Action对象的产生问题(struts2本身产生好呢?还是让spring代替struts2产生好呢?)答:这个问题是关于struts2和spring的整合问题,需要用到struts2的struts2-spring-plugin.jar包如果让struts2本身产生action,action中的set方法struts2会根据这个jar包自动注入(不需要通过@Resource手动注入...原创 2013-09-21 22:58:07 · 158 阅读 · 0 评论