初学Hibernate】的更多相关文章

一.1.Session级别缓存属于一级缓存,持久化对象保存在Session一级缓存中(一级缓存引用持久化对象地址),只要session不关闭,一级缓存就存在,缓存中对象也不会被回收: Session会在一些特定时间点,将缓存中数据flush到数据库中( Transaction的commit().应用程序执行一些查询操作.调用session的flush方法). 2.SessionFactory级别缓存属于二级缓存 二.证明一级缓存存在:在获取Customer的Demo中,可以使用同一个Sessio…
hibernate三种持久化对象状态:(持久化对象:Persistent Object=POJO + hbm映射) 1.瞬时状态(临时状态或自由态):PO对象刚创建(即new)开始进入瞬时状态,此时对象并无OID: 2.持久化状态:执行了session.save()之后,PO对象就在session管理范围内了 3.游离状态(脱管状态):session.close()后,PO对象不受session管理,PO有OID(在session.save()后就有OID了): 区分PO对象状态 1.判断它们是…
具有业务含义的主键叫自然主键:随机生成,不具备业务含义的字段作为主键,叫代理主键. 在表与POJO类关系映射文件XXX.hbm.xml中,可通过配置id元素下generator节点的class属性指定数据表主键生成策略<generator class="生成策略"></generator>:所谓主键生成策略就是hibernate怎样管理表的主键 主键生成策略:1~4自动增长(1.2.3······),代理主键:5主键为字符串,代理主键:6一般用于自然主键,需要在…
Hibernate 是完全ORM的,只需要对 对象 进行操作,生成底层SQL语句 优势:1.可以简化开发 2.性能好(原生的Hibernate性能很差,要使用它,需要进行优化),优化方式:一级缓存.二级缓存.查询缓存.抓取策略等. 下面先简单写一个log4j的demo 1.新建一Java项目,导入log4j.jar包 2.在src下新建log4j.properties文件,第一个info表示,输出信息为info级别及其以上 ### direct log messages to stdout ##…
在初步学习了hibernate之后,使我明白了hibernate是一个怎样的软件.hibernate是一个比较独立的框架,它不需要太多其他软件的支持.hibernate是一个开放源代码的关系映射框架,它对JDBC进行了非常轻量级的对象封装.这样的好处是,它可以让程序员使用Java中常用的对象编程思维来对数据库进行增.删.改.查等操作.hibernate具有很好的兼容性.它可以在多个客户端中运行,也可以很好的兼容各种的操作系统.hibernate可以在Java的客户端中使用,当然也可以在Servl…
1.hql参数化查询,不明确值类型的用setParameter方法:明确查询结果为一条记录的用uniqueResult方法查询 注意,参数化查询中方法setString 或 setParameter如果使用索引方式赋值,索引值从0开始,区别JDBC public void func1(){ Session session=HibernateUtils.getSession(); session.beginTransaction(); String hql="from Customer where…
1.如果在"one"方中(如部门)写有Set属性,但是没有在映射文件中配置,那么,在获取指定部门下的所有员工时,不会报错,但是,Set内的元素个数为0.输出为"[]". 2.在映射文件里配置<many-to-one  />标签时(写在many方),同时也配置了本实体类的该外键属性. 要设置的属性与其他一般的<property ></property>相比 -- 都有name.column属性, 但用class属性代替了type属性…
写在最前: 初学Hibernate,在尝试把JDBC项目移植到Hibernate的过程中,碰到了不少的麻烦,最让人心烦意乱的自然是SQL语句改动造成的代码混乱.其实不难,网上的解决方案有很多, 不过..大都是在Spring中使用封装好的HibernateDaoSupport完成DAO对象的CRUD操作. 不幸的是我的项目中没有用到Spring,狠下心来找了找官方文档,自己写了一个简易的原生DAO,暂时满足了自己项目需要,就把测试代码分享出来. 回到顶部 一 . DAO的实现  1. 左图为项目结…
今天晚上自己试着用Hibernate去搭建一个Web工程,然后去实现一个简单的登录.         通过Hibernate 做查询操作的时候总是报出这样的错:                    users is not mapped.          于是乎去检查了下映射,发现没问题呀,反复验证结果还是一样报错.           User.hbm.xml:                       <class name="com.lian.bean.User" t…
本文转载自:http://blog.csdn.net/csh624366188/article/details/7578939 初学hibernate的童鞋,刚开应该都有这种感觉,hibernate的配置文件好麻烦,还不如jdbc访问数据库呢,直接写代码,多方便,用hibernate还要写代码,还要写配置,太麻烦了.至少我刚开始学习的时候就是这么想的.配置文件确实有他枯燥的一面,但等你真正深入学习的时候,你就可以发现他枯燥的背后却藏着很多强大的功能,呵呵,让我说的这么玄乎,那就让我们一起来看看吧…