Hibernate
静山晚风
珍惜眼前的人,当你不满足现状,总想找更好的,以为为自己的目标而奋斗,实际上你错过了眼前人,当十年过去了,你得到了你想要的,但你最最珍爱的已经不再了,包括任何的人和事,亲人,朋友同学,同事,家人。可能还不知,那时的你才是自己的最巅峰。重拾CSDN,我回来了
展开
-
hibernate 1+N
1+N问题也可以叫N+1问题,什么是1+N问题呢?如果在一个对象里关联另一个对象,并且fetch = FetchType.EAGER。比如说ManyToOne(OneToMany也存在这种问题)关联,本来只需要取Many里的对象属性,可是Many里关联的对象都会单独再发一条语句取关联对象的属性。本来只用发一条就可以查出Many里的对象属性,可是它发了一条语句后,再发N条语句取关联对象的转载 2014-06-05 09:33:35 · 578 阅读 · 0 评论 -
Hibernate的load()和get()的用法和区别(八)
1 @Test public void testDelete() { Teacher t = new Teacher(); t.setName("t1"); t.setTitle("middle"); t.setBirthDate(new Date()); Session session = sessionFactory.getCurrentSession();原创 2013-12-17 11:32:04 · 847 阅读 · 0 评论 -
Hibernate使用双主键的方法(五)
1package com.bjsxt.hibernate;public class StudentPK implements java.io.Serializable{ private int id; private String name; public int getId() { return id; } public void setId(int id) { thi原创 2013-12-16 18:00:48 · 2010 阅读 · 0 评论 -
Hibernate注解版简单实例@entity,@id(一)
1 网上说要导入 如下这些包antlr.jarcommons-collections.jarejb-persistence.jarhibernate-annotations.jarhibernate-core.jarjavassist.jarjta.jarlog4j.jarmysql.jarslf4j-api.jarslf4j-log4j12.jar但是我用的是hiber原创 2013-07-12 15:28:52 · 2576 阅读 · 0 评论 -
SessionFactory.getCurrentSession与openSession的区别****比较重要
SessionFactory.getCurrentSession与openSession的区别 1. 如果使用的是getCurrentSession来创建session的话,在commit后,session就自动被关闭了, 也就是不用再session.close()了。但是如果使用的是openSession方法创建的session的话, 那么必须显转载 2013-12-16 16:18:00 · 749 阅读 · 1 评论 -
SessionFactory.getCurrentSession与openSession的区别
1. 如果使用的是getCurrentSession来创建session的话,在commit后,session就自动被关闭了, 也就是不用再session.close()了。但是如果使用的是openSession方法创建的session的话, 那么必须显示的关闭session,也就是调用session.close()方法。这样commit后,session并转载 2013-12-16 18:12:11 · 667 阅读 · 0 评论 -
hibernate的两个特殊注解@Transienth和@Enumerated(EnumType.STRING)和@Table(name="_teacher"),忽略,定义枚举,定义表名
1package com.bjsxt.hibernate;import java.util.Date;import javax.persistence.Entity;import javax.persistence.EnumType;import javax.persistence.Enumerated;import javax.persistence.Id;import ja原创 2013-12-16 17:44:29 · 2723 阅读 · 0 评论 -
hibernate的query.iterate()与query.list()的区别(四)
Query query=this.GetSession().createQuery(hql);query.iterate()与query.list()效率是说query.iterate()比query.list()好,但做了N+1次查询它们都是先从数据库的查询出主键值,然后根据主键值查询出对象,只是query.iterate()会根据主键值先从缓存当中找,若没有就从数据库查询q原创 2013-12-16 17:17:17 · 1129 阅读 · 0 评论 -
Hibernate注解方法使用主键生成策略@GeneratedValue(三)
例如:使用的是默认主键生成策略:应该是这个 :@GeneratedValue(strategy=GenerationType.IDENTITY)package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.转载 2013-12-16 16:52:01 · 2068 阅读 · 0 评论 -
Hibernate的手动建表的方法【包含注解方式的手动见表】(二)
//加载配置信息 Configuration cfg = new Configuration().configure(); //实例化SchemaExport对象 SchemaExport export = new SchemaExport(cfg); //导出数据表 export.create(true, true);export.create(a,b)第一个为T原创 2013-09-26 17:24:10 · 2116 阅读 · 0 评论 -
Hibernate之QBE--》用语法函数表示sql语句【个人感觉此技术相当之垃圾,反其正道而行】(二十八)
和27略有不同,都不是啥好技术package com.bjsxt.hibernate;import java.util.Date;import org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Annota转载 2013-12-30 14:11:35 · 902 阅读 · 0 评论 -
Hibernate之QBC--》用语法函数表示sql语句【个人感觉此技术相当之垃圾,反其正道而行】(二十七)
1package com.bjsxt.hibernate;import java.util.Date;import org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.annotations.FetchMode;i转载 2013-12-30 14:09:32 · 720 阅读 · 0 评论 -
Hibernate实例hql查询【较多不太懂】(二十六)
1package com.bjsxt.hibernate;import java.util.Date;import java.util.List;import org.hibernate.Query; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cf转载 2013-12-30 14:02:01 · 775 阅读 · 0 评论 -
Hibernate之Hql使用预编译的方法的两种方法:/?(二十五)
Query q = session.createQuery("from Category c where c.id > :min and c.id < :max") .setInteger("min", 2) .setInteger("max", 8); Query q = session.createQuery("from Category c where c.id >转载 2013-12-30 13:57:17 · 5670 阅读 · 0 评论 -
Hibernate之模拟三表问题之多对多manytomany之映射为3表注解版-与(十七)xml版本对应(二十三)
1package com.bjsxt.hibernate;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.pe转载 2013-12-30 13:41:16 · 1502 阅读 · 0 评论 -
Hibernate的第归树保持使用的注解版方法[比较重要××](二十二)
1package com.bjsxt.hibernate;import java.util.Map;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.tool.h转载 2013-12-30 11:41:42 · 724 阅读 · 0 评论 -
Hibernate数据更新(九)
1 两种方法,一个是查询id更改,另外一个新建一个有id的,更改,这样会把原来的结构数据破坏 @Test public void testUpdate1() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Teacher t = (Teacher)sessi原创 2013-12-17 11:38:32 · 650 阅读 · 0 评论 -
Hibernage的更新数据session.merge ()方法【不一定会用到,说的有点晕】(九)
1session.merge ()方法该方法将修改表中记录,其所需要的实体状态为脱管状态,但是注意,它并不影响调用方法前后的状态,也即该实体依然是脱管状,见例6.4。例6.4:session.merge ()方法对状态的变化 public void run() { //创建UserInfo实例转载 2013-12-17 12:39:58 · 1425 阅读 · 0 评论 -
Hibernate如果查询更改了值,没有save,如果提交了仍然会执行update语句(十一)
Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Teacher t = (Teacher)session.load(Teacher.class, 1);// t.setName("tttt"); // session.clear(); // t.se原创 2013-12-17 12:49:52 · 2174 阅读 · 0 评论 -
懒加载未用就关闭sessio--n的异常---面试问的-org.hibernate.LazyInitializationException: could not initialize proxy -
package com.lyq.util; import org.hibernate.Session;import com.lyq.model.Medicine;/** * Lazy测试 * @author Li Yong Qiang */public class Test {public static void main(String[] args原创 2014-04-19 18:37:17 · 813 阅读 · 0 评论 -
懒加载实例--hibernate
实例1 设置为true"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">2 测试package com.lyq.util; import org.hib原创 2014-04-19 18:31:33 · 737 阅读 · 0 评论 -
Hibernate的onetomany和manytoone联合使用(十八)
1package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.ManyToOne;import javax.persistence.Tab转载 2013-12-18 09:13:12 · 896 阅读 · 0 评论 -
Hibernate一对多关联实例(十七)
1 继续上面的多对一的实例的文章User表和配置不变,测试类不变2 Grade做的调整在配置文件中有关很重要的问题 ,key的column 一定要和User配置文件的 哪个对应的column相同 gradeidpackage com.sm.hibernate.pojo;import java.util.Set;public class Grade { public原创 2013-09-20 10:27:26 · 957 阅读 · 0 评论 -
Hibernate多对多映射为第三张表manytomany【xml和注解】实例(十七)
1 这个方法比较不错package com.sm.hibernate.pojo;import java.util.Set;public class IUser { private int id; private String name; private ICard iCard; private I2Card i2Card; private Set courses;原创 2013-09-27 10:14:21 · 2382 阅读 · 0 评论 -
Hibernate多对一实例【xml和注解】many-to-one(十六)
1 容易出错的地方User为多,user中用manytoone的时候 记得类中引入Group的类步骤如下2 更改User类package com.sm.hibernate.pojo;public class User { private int id; private String name; private int qq; private Grade grade原创 2013-09-20 09:55:14 · 1125 阅读 · 0 评论 -
jquery的主要事件--单击双击,焦点,悬停
$(document).ready(function)将函数绑定到文档的就绪事件(当文档完成加载时)$(selector).click(function)触发或将函数绑定到被选元素的点击事件$(selector).dblclick(function)触发或将函数绑定到被选元素的双击事件$(selector).focus(fun转载 2013-12-17 15:10:37 · 1130 阅读 · 0 评论 -
Hibernate的主键如果为两个参数时的问题一对一单向主键映射注解方式(十四)
1package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.Jo转载 2013-12-17 14:39:49 · 888 阅读 · 0 评论 -
Hibernate数据更新的第四种方法createQuery()直接执行hql(十)
1 @Test public void testUpdate7() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction();// Query q = session.createQuery("update Student s set s.name='z5' w转载 2013-12-17 12:42:14 · 4430 阅读 · 0 评论 -
Hibernate的save,delete使用方法(七)
1 第一种方法,提交了 Teacher t = new Teacher(); t.setName("t1"); t.setTitle("middle"); t.setBirthDate(new Date()); Session session = sessionFactory.getCurrentSession(); session.beginTransaction原创 2013-12-17 11:29:09 · 1138 阅读 · 0 评论 -
Hibernate的joinfecth用法【一不懂用法,二不懂目的】[后面还有四个实例不做熬述](二十九)
1 //join fetch @Test public void testQuery4() { Session session = sf.openSession(); session.beginTransaction(); //List topics = (List)session.createCriteria(Topic.class).list(); List topic转载 2013-12-30 14:14:33 · 1083 阅读 · 0 评论 -
Hibernate Annotation @mappedBy含义在使用onetoone 时候【外键双向关联】(十三)
1package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.JoinColumn;import javax.persistence.On转载 2013-12-17 14:06:35 · 4967 阅读 · 0 评论 -
hibernate的session提交前的getcurrentsession一样和提交后的getcurrentsession不一样(六)
1 Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); session.save(t); Session session2 = sessionFactory.getCurrentSession(); System.out.println(sessi转载 2013-12-17 11:21:46 · 843 阅读 · 0 评论 -
Hibernate的使用component的方法把另外一个实体类作为一个类完全传递,使用一个表示(十五)
1package com.bjsxt.hibernate;import javax.persistence.Embedded;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Join转载 2013-12-17 14:43:55 · 1139 阅读 · 0 评论 -
Hibernate主键一对一关联映射实例【xml和注解版本@OneToOne@JoinColumn(name="wifeId")--主键单向】(十二)
1 两个表Iuser Icard主键一对一映射package com.sm.hibernate.pojo;public class IUser { private int id; private String name; private ICard iCard; public int getId() { return id; } public void setId(i原创 2013-09-27 09:24:23 · 1284 阅读 · 0 评论 -
Hinbernate继承映射为4张表注解版【不太理解】(二十一)
1package com.bjsxt.hibernate;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistenc转载 2013-12-30 11:37:13 · 804 阅读 · 0 评论 -
hibernate继承映射[映射单独一个tablexml版本]实例【与19相同,方式不同,未验证】(二十)
1package com.sm.hibernate.pojo;import java.util.Set;public class User { private int id; private String name; private int qq; private Grade grade; private Set courses; public Set getCo原创 2013-09-27 11:27:52 · 839 阅读 · 0 评论 -
不太明白hibernate已经可以获取session了为何还要自己写HibernateUtil?【问题】
不太明白hibernate已经可以获取session了为何还要自己写HibernateUtil?原创 2013-09-26 17:39:52 · 912 阅读 · 0 评论 -
Hibernate级联的异常
object references an unsaved transient instance - save the transient instance before flushing: com.lyq.model.Category在book 配置文件上加上 cascade="save-update"异常就没有了,他的这个定义其实不是要做什么的,是必须的,不然会异常原创 2013-09-27 10:41:26 · 794 阅读 · 0 评论 -
hibernate一对一外键单向关联实例
1和一对一双线关联有很多都类似package com.sm.hibernate.pojo;public class IUser { private int id; private String name; private ICard iCard; private I2Card i2Card; public I2Card getI2Card() { return原创 2013-09-27 09:52:29 · 961 阅读 · 0 评论 -
hibernate进行继承映射时的异常Unknown column 'allowpost' in 'field list'
1 是因为表已经建立好了,必须删除再自动建表或者手动建表才行原创 2013-09-27 11:25:12 · 1923 阅读 · 0 评论