
Hibernate学习笔记
youngitman
个人从事金融行业,就职过易极付、思建科技等重庆一流技术团队,目前就职于某网约车平台负责整个支付系统建设。自身对金融行业有强烈的爱好。同时也实践大数据、数据存储、自动化集成和部署、分布式微服务、响应式编程、人工智能等领域。
个人博客地址:http://youngitman.tech
展开
-
hibernate环境搭建及第一程序
知识点【下载地址http://www.hibernate.org,本教程使用3.2.5。将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中: antlr.jar,cglib.jar,asm.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar...原创 2012-05-13 21:50:49 · 109 阅读 · 0 评论 -
事务
知识点:【JDBCTransaction 单个数据库(一个SesisonFactory对应一个数据库),由JDBC实现。 Session session = null; Transaction tx =null; try { session = sessionFactory.openSession(); tx = session.beginTransact...原创 2012-06-01 08:53:47 · 97 阅读 · 0 评论 -
其他问题
知识点:【hibernate.cfg.xml和hbm.xml内容解释数据类型 1. type可以是hibernate、java类型或者你自己的类型(需要实现hibernate的一个接口)。 2.基本类型一般不需要在映射文件(hbm.xml)中说明,只有在一个JAVA类型和多个数据库数据类型相对应时并且你想要的和hibernate缺省映射不一致时,需要在映射文件中指...原创 2012-06-01 08:53:38 · 79 阅读 · 0 评论 -
缓存
知识点 :【缓存的作用主要用来提高性能,可以简单的理解成一个Map;使用缓存涉及到三个操作:把数据放入缓存、从缓存中获取数据、删除缓存中的无效数据。一级缓存,Session级共享。 save,update,saveOrUpdate,load,get,list,iterate,lock这些方法都会将对象放在一级缓存中,一级缓存不能控制缓存的数量,所以要注意大批量操作数据时可能...原创 2012-05-21 13:44:13 · 340 阅读 · 0 评论 -
懒加载
知识点:【通过asm和cglib二个包实现;Domain是非final的。1.session.load懒加载。2.one-to-one(元素)懒加载: 必需同时满足下面三个条件时才能实现懒加载 (主表不能有constrained=true,所以主表没有懒加载) lazy!=false 2)constrained=true 3)fetch=select3.one-...原创 2012-05-21 13:42:47 · 359 阅读 · 0 评论 -
hibernate继承映射
知识点:【第一种:一个类继承体系一张表(subclass)(映射文件) 第二种:每个子类一张表(joined-subclass) (映射文件) 第三种:...原创 2012-05-21 13:37:26 · 97 阅读 · 0 评论 -
hibernate多对多关联映射
知识点:【多对多(teacher - student)在操作和性能方面都不太理想,所以多对多的映射使用较少,实际使用中最好转换成一对多的对象模型;Hibernate会为我们创建中间关联表,转换成两个一对多。 】照样实现步骤如下:第一步:搭建hibernate运行所需的环境及*.jar 具体搭建见上面的博客hibernate.c...原创 2012-05-21 10:29:11 · 109 阅读 · 0 评论 -
Hibernate中使用的集合类型-集合映射-级联操作-控制翻转
知识点:【集合映射(set, list, array,bag, map) 集合映射(set, list, array,bag, map)Set:不可重复、没有顺序List:可重复、有顺序 集合映射(set, list, array,bag, map)Bag:...原创 2012-05-21 10:16:24 · 101 阅读 · 0 评论 -
hibernate一对一关联映射
知识点:【第一种:一对一(Person - IdCard)1)基于主键的one-to-one(person的映射文件) idCard第二种 :一对一(Person - IdCard)2)基于外健的one-to-one,可以描述为多对一,加unique=“true”约束 property-ref用于指定关联类的一...原创 2012-05-20 13:10:35 · 95 阅读 · 0 评论 -
hibernate多对一关联映射
知识点:【多对一(Employee - Department)映射文件column=”depart_id”与Employee外键对应 默认于Department主键对应也可以通过property-ref来指定引用那个属性与外键对应一对多(Department-Employee)//映射集合//指定查询根据depart_id去Employee查询 ...原创 2012-05-19 22:52:49 · 108 阅读 · 0 评论 -
hql的命名参数与Query接口的分页查询
static void query() { Session s = null; try { s = HibernateUtil.getSession(); //String hql="from User as user where user.id=?";位置参数查询 //String hql="from User as user where user.id...原创 2012-05-14 20:30:18 · 132 阅读 · 0 评论 -
实体类或属性名与数据库关键字冲突问题
表名于数据库中关键字冲突:原创 2012-05-14 20:12:20 · 620 阅读 · 0 评论 -
JPA中bean的四种状态和hibernate中的bean三种状态
//JPA中实体的四种状态 :新建、托管、游离、删除当new User();对象是这个对象处于新建状态当entity.getTransaction().begin();//必须开启事务 Person person=entity.find(Person.class, 1); 此时bean处于托管状态这个对象发生改变EntityManager都知道当在如: person.s...原创 2012-05-14 17:11:10 · 1462 阅读 · 0 评论 -
get() load() persist() 等方法的区别
Session的几个主要方法 1.save,persist保存数据,persist在事务外不会产生insert语句。save()方法和persist()方法在没有开启事务情况下save()会先向数据库中插入一条数据,然后回滚事务删除该数据 .persist()方法则不会向数据库中插入数据而是抛出异常 2.delete,删除对象 3.update,更新对象,如果数据库中没有记录,会出...原创 2012-05-14 16:36:06 · 140 阅读 · 0 评论 -
Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 由new命令开辟内存空间的java对象, eg. Person person = new Pe...原创 2016-06-21 13:54:43 · 189 阅读 · 0 评论