
Hibernate框架
昊昊1011
这个作者很懒,什么都没留下…
展开
-
【Hibernate框架1】Hibernate入门
Hibernate是目前最流行的ORM框架。ORM的全称是Object/Relation Mapping,对象/关系数据库映射。当我们采用ORM框架之后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象(例如创建、删除等),而ORM框架则将这些面向对象的操作转化成底层的SQL操作。ORM用最直白的话来说就是:一大堆的类库,我们用面向对象的方式来调用,它帮我们...转载 2019-01-29 10:33:42 · 94 阅读 · 0 评论 -
【hibernate框架2】搭建hibernate环境
我这次创建的是一个叫做student的表,里面存有id、name和age字段,我将搭建一个hibernate环境,利用框架的核心API对student进行数据插入。数据库用的是Mysql。1.首先在工程中添加hibernate的jar包:将解压路径中hibernate3.jar和lib路径下的required、jpa子目录下所有JAR包添加到应用的类加载路径中。hibernate的帮助...转载 2019-01-29 10:40:35 · 131 阅读 · 0 评论 -
【hibernate框架3】使用Annotation注解进行实体类操作
上一篇讲的是hibernate的环境搭建,因为现在大部分公司在使用Annotation来操作实体类进而进行表的建立,免去了写Xxx.hbm.xml表映射文件的烦恼,所以我再写一个用Annotation来操作实体类的例子:导包什么的我就不说了,详情看上一篇吧,直接切入主题:1.首先说说什么是注解(Annotation),这个学过Java基础的人应该不陌生,这里只说一下在hibernate框架...转载 2019-01-29 10:53:20 · 152 阅读 · 0 评论 -
【hibernate框架4】hibernate遇到的几个异常解决
今天使用hibernate3.6.5自己配置jar lib,在测试时遇到了几个异常如下:1.java.lang.NoSuchFieldError: INSTANCE 解决:删除hibernate-annotations.jar。2.java.lang.ClassCastException: org.hibernate.annotations.common.reflec...转载 2019-01-29 10:55:02 · 405 阅读 · 0 评论 -
【hibernate框架5】了解什么是JPA
JPAJPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。总的来说,JPA包括以下3方面的技术:1.ORM映射元数据JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;2.API用来操作实体对象,执行CR...转载 2019-01-29 11:10:07 · 197 阅读 · 0 评论 -
【hibernate框架9】用Annotation注解表示id生成策略
前面已经说过用XML配置ID生成策略的两个例子:http://blog.csdn.net/acmman/article/details/43305177这里简单说一下用Annotation如何设置ID的生成策略:除了在XML文件中去指定id的生成策略,还可以用Annotation中的注解去指定id的生成策略。方法: @Id @GeneratedValue public i...转载 2019-02-22 10:44:58 · 159 阅读 · 0 评论 -
【hibernate框架13】核心开发接口-load和get方法
Load方法,从数据库里取数据,并封装成JAVA对象。示例:public void testLoad(){ Configuration cfg=new AnnotationConfiguration(); SessionFactory sf=cfg.configure().buildSessionFactory(); Session session=sf.openSession...转载 2019-02-22 15:24:06 · 160 阅读 · 0 评论 -
【hibernate框架6】各种问题用注解Annotation和mxl配置的解决
1.表名和类名不同,对表名进行配置a)Annotation:一般说来,表名一定要和实体类的名称一样。但如果表明和实体类名不一致,可以用以下两种方式指明实体类对应的表名:1.Annotation情况下:package cn.edu.hpu.model; import javax.persistence.Entity;import javax.persistence.Id; ...转载 2019-02-18 15:36:42 · 151 阅读 · 0 评论 -
【hibernate框架7】hibernate的ID的生成策略剖析
1.设置id的原因我们表里面一般有一个id作为主键,一般id不需要手动去传值的。在实际工作中,在数据库中建表的时候,id在数据库中都是设置成自增字段。对于类的对象里面的字段,就无法指定自增,需要靠程序自动的生成或者靠数据库来帮我们自动的生成。Jpa/hibernate就已经实现了这样的能力,你可以通过设置来告诉它id怎么样生成,这样你写程序的时候就不用设置id了,这就叫“id...转载 2019-02-19 11:26:46 · 187 阅读 · 0 评论 -
【hibernate框架10】如何配置联合主键-XML与Annotation样例剖析
首先看看什么是联合主键:联合主键一般以表中的两个或两个以上的元素作为主键。一般的联合主键,在数据库中设置就可以了。但是,如果你想用hibernate对主键做映射的话,则需要用面向对象的方法去操作它。那么,如何用面向对象的方法去得到它呢?而又如何以面向对象的方式分配主键呢?有两种方式:XML配置联合主键和Annotation配置联合主键。XML配置联合主键:操作方式:...转载 2019-02-19 11:41:11 · 203 阅读 · 0 评论 -
【hibernate框架11】核心开发接口-Configuration接口
Configuration接口:a)AnnotationConfigurationb)进行配置信息的管理c)用来产生SessionFactoryd)可以在configure方法中指定hibernate配置文件e)只需关注一个方法即:buildSessionFactory()1.关于Configuration什么叫做Configuration?new 出来一个Configurat...转载 2019-02-19 14:34:20 · 132 阅读 · 0 评论 -
【hibernate框架8】uuid与native生成ID的样例-XML配置
native算法生成随机id:native根据底层数据库的能力选择 identity、sequence 或者 hilo 中的一个。native算法指定的字段类型:用mysql,你需要设置主键bigint, autoincreament (大数,自增)用oracle,你需要设置主键bigint, sequence 这样才能在hibernate中指定nativeStudent:...转载 2019-02-19 14:56:03 · 151 阅读 · 0 评论 -
【hibernate框架14】核心开发接口-update方法
1.更新一个Detached(脱管状态)对象,把它重新变成Persistent(持久化状态),然后在数据库里做更新。示例:public void testUpDate1(){ Configuration cfg=new Configuration(); SessionFactory sf=cfg.configure().buildSessionFactory(); Session...转载 2019-02-26 21:40:28 · 152 阅读 · 0 评论 -
【hibernate框架15】核心开发接口-saveOrUpdate方法与delete方法
1.saveOrUpdate方法剖析saveOrUpdate方法:分情况看是save还是update。示例:public void testSaveOrUpdate(){ Teacher t=new Teacher(); t.setName("t21"); t.setTitle("低级"); t.setBrithday(new Date()); t.setZhicheng(Z...转载 2019-02-26 22:03:47 · 179 阅读 · 0 评论 -
【hibernate框架12】对象的三种状态Transient-Persistent-Detached
三种状态分别是Transient(游离状态),Persistent(持久化状态),Detached(脱管状态)。Teacher t=new Teacher();t.setName("t12");//游离状态t.setTitle("中级");//游离状态t.setBrithday(new Date());//游离状态t.setZhicheng(ZhiCheng.A);//游离状态Ses...转载 2018-08-10 10:50:24 · 244 阅读 · 0 评论 -
【hibernate框架16】核心开发接口-Clear方法与flush方法
1.Clear方法:无论是load还是get,都会首先查找缓存(一级缓存),如果没有,才会去数据库查找,调用clear()方法可以强制清除session缓存。示例:public void testClear(){ Configuration cfg=new AnnotationConfiguration(); SessionFactory sf=cfg.configure().bu...转载 2019-02-26 22:16:05 · 164 阅读 · 0 评论