Hibernate
文章平均质量分 70
IT_COOKIE_SAM
这个作者很懒,什么都没留下…
展开
-
hibernate两个配置模板(***.hbm.xml;***.cfg.xml)
***.cfg.xml------->这个是hibernate的硬件配置信息(连接数据库的):如 数据库的密码账号,数据库地址,连接池数目 PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd原创 2017-02-27 20:43:17 · 402 阅读 · 0 评论 -
异常------》hibernate异常---》Duplicate collection role mapping(重复映射)
Duplicate collection role mapping问题的引起因为config.addclass(person.class)等价于hibernate.cfg.xml的 所以千万不要配置完hibernate配置又配置addclass文件。具体如下:hibernate.cfg.xml原创 2017-03-20 16:14:13 · 1894 阅读 · 0 评论 -
hibernate基础------>二级缓存的配置文件
############################# Second-level Cache ############################### optimize chache for minimal "puts" instead of minimal "gets" (good for clustered cache)#hibernate.cache.u原创 2017-03-21 09:45:20 · 427 阅读 · 0 评论 -
Hibernate基础------》缓存---》二级缓存的具体配置和解析(有例子)
############################# Second-level Cache #############################请认准这个标志,这是hibernate.properties的二级缓存的标识,在hibernate.cfg.xml中配置二级缓存信息是从里面获取的(具体路径:hibernate安装包----》project----》etc----》hi原创 2017-03-28 10:44:42 · 848 阅读 · 0 评论 -
Hibernate基础------》hibernate缓存---》线程创建缓存
1.在hibernate.cfg.xml配置中设置thread2.在运行类中Session session3 = sf.getCurrentSession();// 创建session,绑定到线程 Session session4 = sf.getCurrentSession();// 从当前访问线程获取session System.o原创 2017-03-28 13:40:09 · 382 阅读 · 0 评论 -
hibernate基础------>hibernate集合映射--->set映射
hibenrate 有三种映射关系 1.一对一 2.一对多 3.多对多(剩余的关系是他们的笛卡尔乘积)这里我们首先说一下,hibernate的一对多关系一对多关系的表现形式:人对应地址(假设:一个人可能有多个房子,但是房子对应一个人)这个关系就是一对多关系,当然还有很多,例如班级和学生,客户和订单等等但是一对多关系是比较简单的,因为可以一张表和两个hiberna原创 2017-03-21 19:00:03 · 715 阅读 · 0 评论 -
hibernate基础----->一对多关系
hibernate 的一对多关系有三种:1对n n对1 1对1其中一对多关系在现实生活中还是比较普遍的,例如:学生和班级,人和地址,客户和订单等等其实我个人认为一对多的关系有点像将集合映射,这个集合映射是有两个po文件组成,一个po是多一个po是一代码如下:首先创建一个主要po文件(person文件)package one;import j原创 2017-03-21 20:28:00 · 756 阅读 · 0 评论 -
hibernate之集合映射的属性详细解释
hibernate之集合映射的属性详细解释 集合映射,总共有七种,最为常用的是list,set,map集合 1.map集合映射private Map address1 =new HashMap();原创 2017-03-22 11:25:43 · 441 阅读 · 0 评论 -
Hibernate基础------》映射关系---》many2many
many2many实际上是一个集合组件对应集合组件的特殊hibernate配置运行类@Test public void test_many2many_save() { Session session = sf.openSession(); Transaction tx = session.beginTransaction();原创 2017-03-24 14:35:20 · 389 阅读 · 0 评论 -
hibernate基础------》映射关系---》cascade作用
cascade级联操作(个人认为更像同步操作) 例子: 在多对多关系中,以员工和项目之间的关系为例 不使用cascade情况下写法 运行类 new emp--->emp1,emp2,emp3 ne原创 2017-03-24 15:02:48 · 771 阅读 · 0 评论 -
Hibernate基础------》映射关系---》one2one
人们常说 One2one是特殊的one2many 其实这种说法很形象one2one就是两个持久类都引用彼此类本身作为一个组件,而且不以集合形式出现 例如: 在wife类下的private Husband husband; 在Husband类下的private Wife wife;原创 2017-03-24 17:12:42 · 633 阅读 · 0 评论 -
hibernate基础------》关系映射---》many2one和one2many的区别
many2one和one2many其实没什么差别,最大的不同就是站在不同的角度而已 例如:one2many视角:一棵苹果树有很多苹果,这是一对多关系(站在树的角度上看) many2one视角:许多苹果在一棵苹果树上,这是多对一关系(站在苹果的角度上看) 代码分析需求 1. PO类 苹果树原创 2017-03-25 09:50:12 · 1601 阅读 · 0 评论 -
Hibernate基础------》单向映射--->one2one
所谓的单向,我个人认为有点像有去无回的感觉(意思是我去撩女神,女神不鸟我,其实这是很正常的,哈哈!但是我们常用的多为双向,生活中多一点互动还是好的) 例子:妈妈对儿子的爱是无偿的,单向的! 代码分析需求 1.po 妈妈类 private int id; private Strin原创 2017-03-25 10:40:06 · 708 阅读 · 0 评论 -
Hibernate基础------》关系映射---》组件映射(component)
组合映射 component是组合映射的关键字,用法和property相似,但是又与property有极大的不同,因为它可以糅合两个持久到一个配置文件当中(当然该配置文件处于控制类文件下) 其实:组合映射就是把两个持久类糅合成一张数据表而已例如:我们模拟需求:一辆奔驰汽车由四个轮子组装成代码Car持久类 private int id;原创 2017-03-26 14:43:32 · 406 阅读 · 0 评论 -
Hibernate基础------》关系映射---》继承映射-》所有类映射到一张表中(类融合映射或者鉴别器映射)
子类融合映射或者鉴别器映射,其实是我自己起的名字,方便我自己记忆而已,如果你们听了,请一笑而过就行了。子类融合映射是通过父类的映射将子类的属性带出来,同时在运行类中不采用父类实例化,而都采用子类实例化,然后保存在session当中。例子:猫和猴子是动物,猫喜欢抓老鼠 ,猴子喜欢爬树代码:动物类(父类)public abstract class Animal {原创 2017-03-27 00:03:16 · 832 阅读 · 0 评论 -
Hibernate基础------》关系映射---》继承映射-》简单映射
简单继承映射就是将po类去继承它的父类,然后再用运行文件保存而已,非常简单的! 例如:猫具有动物的属性,但是它又有自己的属性,抓老鼠 代码分析需求: 1.动物类(父类) public class Animal { private in原创 2017-03-26 20:42:03 · 446 阅读 · 0 评论 -
Hibernate的增删改查
package one;import java.util.List;import org.hibernate.Query;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibe原创 2017-03-20 10:52:04 · 446 阅读 · 0 评论 -
Hibernate基础--->HQL查询的分页功能
HQL--->hibernate的查询语言,又session管理控制代码:Session session = sf.openSession(); session.beginTransaction(); Query q = session.createQuery("from Employee_bean");分页功能--->Session se原创 2017-03-05 19:32:01 · 381 阅读 · 0 评论 -
Hibernate自动创表&&Hibernate的四种查询方式
1.SQL 本地Sql查询 ------> createSQLQuery( "sql查询语句").addEntity(实体类);2.HQL Hibernate 查询语言------> createQuery("from 实体类")3.QBC(Query by cretirea)标准查询 ------> createCriteria(实体类)4.get,lo原创 2017-03-05 17:54:29 · 494 阅读 · 0 评论 -
jdbc概念及其用法
通过JDBC进行简单的增删改查(以MySQL为例)目录前言:什么是JDBC一、准备工作(一):MySQL安装配置和基础学习二、准备工作(二):下载数据库对应的jar包并导入三、JDBC基本操作(1)定义记录的类(可选)(2)连接的获取(3)insert(4)update(5)select(6)delete四、测试五、代码分析六、思考问题转载 2016-12-03 11:04:18 · 1029 阅读 · 0 评论 -
hibernate配置详解
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下: Hibernate Reference Documentation 3.3.1解释如下:Automatically validate or export schema DDL to the database when the SessionFactory is created.转载 2016-11-09 09:00:46 · 332 阅读 · 0 评论 -
hibernate中的配置小细节
今天在练习hibernate的时候,发现一个配置的小细节请看以下代码: table="yezi0" > table="t_address">原创 2016-11-04 16:17:56 · 217 阅读 · 0 评论 -
hibernate的持久化对象的状态
瞬时/临时状态(Transient Objects) 使用new操作符初始化的对象不是立刻就持久化的,他们的状态是瞬时的。 (1) 不处于Session的缓存中,也可以说,不被任何一个Session实例关联。 (2) 在数据库中没有对应的记录。持久化状态(Persist Objects) 持久实例是任何具有数据库标识的实转载 2016-11-11 11:10:31 · 293 阅读 · 0 评论 -
<property name="hbm2ddl.auto"></property> 里面值的含义
validate 加载hibernate时,验证创建数据库表结构create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。create-drop 加载hibernate时创建,退出是删除表结构update 加载hibernate自动更新数据库结构转载 2016-11-12 19:56:58 · 1009 阅读 · 0 评论 -
Hibernate的flush 和 clear 方法解释
1.flushflush是Hibernate强制更新、将session与数据库同步的一种方法请看以下代码 @Test public void flush() { Session session = sf.openSession(); Transaction tx = session.beginTransaction();原创 2016-11-13 01:05:42 · 1438 阅读 · 0 评论 -
hibernate的save update saveorupdate方法
1).首先当hibernate使用这些方法的时候,hibernate的对象状态由游离或者临时将会变成持久状态。2).save() 可以不写主键,因为你写主键也没有用,它是直接忽视的。例如:session.save(ad) 而这个ad对象有ad.setid(1);ad.setpwd(1515);ad.setusername("你好");它也不会真的在id=1处帮你修改数据,它只是在数据表最后加原创 2016-12-24 15:31:22 · 685 阅读 · 0 评论 -
JDBC------>增删改查操作(没有优化)
增加(插入)数据代码:package JDBC;import java.sql.Connection;import java.sql.DriverManager;import com.mysql.jdbc.PreparedStatement;public class jdbc_insert { private static String url="jdbc:mys原创 2017-03-02 15:56:28 · 359 阅读 · 0 评论 -
Hibernate------>JDBC第一个案例(连接数据库)
一、jdbc的概念jdbc全称:Javadatabase connection(Java语言的数据库连接方法),这是一个java连接数据库的简便方法,jdbc规范了一系列的代码以连接不同的数据库接口。二,jdbc虽然是jdk里面的Jar包,但是如果大家需要开发jdbc必须多加一个包------>mysql-connector-java-5.1.7-bin.jar加上这个包原创 2017-03-01 09:14:38 · 405 阅读 · 0 评论 -
Hibernate------>JDBC--->优化版连接(jdbcUtil工具)
上一篇把基本的JDBC连接写了出来,但是你们会发现有很多重复的地方,这些重复的地方将他们打包至一个地方然后反射到主类文件即可达到优化效果!1.写pro.txt文件(该文件是写出主文件重复的密码账户,数据库具体地址等信息)user=rootpassword=samlin123url=jdbc:mysql:///test_jdbc(注意:千万不要加上任何一句多余的话,也不要把j原创 2017-03-02 17:47:31 · 338 阅读 · 0 评论 -
Criteria的用法
一、Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象 from Emp e group by e.dept.deptName 2.OID检索方式:按照对象的OID来检索对象 get/load 3.HQL检索方式:使用面向对象的HQL查询语言 4.QBC检索方式:使用QBC(Quer转载 2016-11-03 20:14:30 · 4196 阅读 · 0 评论 -
Hibernate------>many to one的属性值
配置文件 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 这里的many to原创 2017-03-08 12:00:53 · 986 阅读 · 0 评论 -
Hibernate------>第一个hibernate案例
本案例采用的软件和技术:Myeclipse+mysql+Hibernate1.Hibernate概念:1.1Hibernate是关系型数据库和java的一个桥梁,它既不像JDBC般纯java语言,对代码的侵入式强,它是一种温软的ORM(对象数据库映射)框架,它的低侵入式在于Hibernate完全采用java对象的javabean(标准的pojo),不必实现接口和抽象.1.2Hibe原创 2017-02-28 15:40:48 · 893 阅读 · 0 评论 -
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置详解
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下: Hibernate Reference Documentation 3.3.1解释如下:Automatically validate or export schema DDL to the database when the SessionFactory is created.转载 2017-03-05 16:46:17 · 353 阅读 · 0 评论 -
Hibernate基础------》映射关系---》继承映射-》join_subclass映射(每个类对应一张表)
需求:员工是人,顾客是人,员工有技能,顾客有钱(这就是继承映射的需求)代码分析:人(父类)public class Person { private int id; private String name; 员工(子类)public class Emploee extends Person{ private String skill;}顾原创 2017-03-27 11:27:07 · 1018 阅读 · 0 评论