Hibernate
NeroJings
一切不过是思想的产物!
展开
-
Hibernate入门BLOG [一、搭建hibernate的开发环境和测试案例]
Hibernate框架是一个优秀的ORM框架。那首先第一章通过添加它的一些Jar文件我们写一个hibernate操作数据库的项目。由此我们来简要的了解一下hibernate它的工作原理和配置流程1、 万事开头加Jar包:和其他的项目一样,我们首先要将hibernate依赖支持的jar包加入。在这里我就不在叙述。毕竟jar包的加入是web开发里面比较基础的东西。我想每一个开发者都会2、 准原创 2012-06-19 14:34:47 · 1513 阅读 · 0 评论 -
Hibernate入门BLOG[十二、Hibernate的一对多的inverse放弃维护关系,提升效率]
Inverse关系只有SET的无序集合用才可以。有序集合list和array都是不可以的。Inverse放弃维护关系。配置文件:一对多的对象模型关系、跟着发生update或者insert,不用再单独去insertemp对象,cascade级联。-->set name="emps" cascade="save-update,delete" inverse="false">和多原创 2012-06-26 20:34:26 · 2856 阅读 · 0 评论 -
Hibernate入门BLOG[十五、Hibernate的乐观锁与悲观锁]
Hibernate事务的悲观锁和乐观锁:当2个管理员同时想修改一个用户的信息怎么办?这个和并发是类似的,如果不做任何处理的话,那么后期调用的会将前面的那个覆盖掉,这样的话第一个修改的信息就会被覆盖掉。解决方法:悲观锁:读取用户的时候将用户枷锁。别人读取的时候就不可以读取。然后修改完成之后再开锁。悲观锁的缺点:如果修改的用户没有编辑提交,那么所有的人就只能等。它不能访问这个数据。乐观锁原创 2012-06-26 20:47:14 · 1061 阅读 · 0 评论 -
Hibernate入门BLOG[十四、Hibernate的懒加载和缓存机制]
在关系模型的对应关系中一对一、一对多、和多对多。都已经做了相关案例Hibernate在提供这些查询的时候它有一种懒加载的机制。比如:之前我们举例的一对一的案例Person-Idcard。如果我们只查询person那么会不会查询Idcard呢?public class Person { private int id; private String name; private IdCard原创 2012-06-26 20:45:23 · 1878 阅读 · 0 评论 -
Hibernate入门BLOG[十一、Hibernate表关联的级联操作]
Hibernate操作级联:我想大家都知道hibernate的级联关系。还是拿我们的dept和emp的案例。1、 JavabeanDept.javapublic class Dept { private int id; private String deptname; //一对多的体现 private Set emps;}Employee.javapublic class原创 2012-06-26 20:30:14 · 1606 阅读 · 0 评论 -
Hibernate 注解如何表示一个未加入映射关系的bean属性
在开发中我们或许用先建类开始生成表。但是有的时候开始的属性并不能满足我们的业务逻辑需要。需加入一些后续的非映射字段。这时候我们就可以用如下这个注解来标注:@Transientprivate String goodsnum;原创 2012-11-01 14:37:46 · 1824 阅读 · 0 评论 -
Hibernate类生成表以及一个hibernate数据库文件的配置
配置文件 hibernate.cfg.xml[放到src目录下] <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd原创 2013-01-17 16:24:17 · 5150 阅读 · 2 评论 -
搭建Spring Mvc+Spring+Hibernate开发框架详细说明
最近闲来无事自己练习了一下搭建开发框架。找了很多资料,spring 3.0.1+hibernate3.2.5的jar包整合没有冲突。最终完成了测试。2大框架学的时间也不短了。推荐大家在学习的过程中多去看官网下载的压缩包中的内容。很多我们在百度上问的东西里面都有案例和相关的文档解释。看英文还能学点英语,最后祝大家学习顺利吧。 源码+jar包打包下载:http://pan.baidu原创 2013-01-20 11:09:10 · 36449 阅读 · 9 评论 -
基于POJO类构造方法的hql查询
hql的查询方法有很多种,昨天接触到了一种基于pojo类的查询方法总结于此:平时我们可以用简单的"FROM [POJO OBJ]"语法来拼装简单的hql查询。如果我们要指定字段的话可以用new一个pojo对象的语法,如下所示:以下文章用WeiboAccountBean来代指POJO对象:Select new WeiboAccountBean(原创 2013-02-28 09:05:04 · 2879 阅读 · 0 评论 -
Hibernate入门BLOG[八、Hibernate对象关系一对多关联关系]
1部门----多员工在hibernate中一对多的对象模型关系:看下面部门类的set集合,这里主要是讲hibernate一对多的映射文件xmlpublic class Dept { private int id; private String deptname; //一对多的体现 private Set emps; public int getId() { return id原创 2012-06-25 09:27:39 · 912 阅读 · 0 评论 -
Hibernate入门BLOG[七、Hibernate对象关系一对一映射]
一对一的关系:人----身份证在关系型数据库中有一种一对一的关系。类似于上面的这种情况。一个人只对应一个身份证。反之亦然。那么在hibernate的对象模型中是怎么样去配置关联一对一的这种映射关系呢?1、 JavaBean:(省略set和get方法)1、Person.java private int id; private String name; private IdCard i原创 2012-06-25 09:25:13 · 734 阅读 · 0 评论 -
Hibernate入门BLOG [二、封装拿到数据库配置session对象、并且执行操作]
在上文中我们自己首先单独配置了hibernate的相关xml文件和Java文件。而且还实现了操作案例。但是在实际应用中我们不可能每一次都去获取Configuration对象然后去构建sessionFactory对象。这会浪费资源而且影响效率。所以这次我们就将hibernate初始化的一系列代码封装起来并且执行操作的案例。请看下面附注释的代码public final class Hibernat原创 2012-06-19 14:41:08 · 1554 阅读 · 1 评论 -
Hibernate逆向生成class和hbm映射
1. 准备数据库,假如名为TestDB,里面有一个User的表。2. 在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer。3. 然后在最左边点击右键,选择New(也就是说新建一个数据库连接,Driver Name随便起)。配置好后点击NEXT,进入下一个窗体。4. 选择第三个单选按钮(Display the selected转载 2012-07-04 09:37:35 · 1261 阅读 · 0 评论 -
Hibernate入门BLOG [四、Hibernate的CRUD简单总结]
在上面几篇BLOG中我们分别简单的讲述了hibernate是如何进行CRUD的。这篇我们将这些综合起来分别操作一下:目的是将他们总结备份一下、请看代码:一、 设计拿到session的类HibernateUtilspublic class HibernateUtils { private static SessionFactory sf; private static Session s;原创 2012-06-19 14:58:09 · 1640 阅读 · 0 评论 -
Hibernate入门BLOG [三、session的常用方法和hibernate对象的3种状态]
Hibernate中Session的常用方法在Hibernate中我们经常用session对象去操作数据库的CRUD。下面我们就来分析一下session的常用方法: void SessionTest(){ User user = new User(); Session s = HibernateUtil.getSession(); //开始事务 s.beginTransact原创 2012-06-19 14:50:12 · 1263 阅读 · 0 评论 -
Hibernate入门BLOG [五、hibernate的组件]
组建关联关系:组建的配置方式。在JavaBean中引用其他的Javabean中。并且映射到数据库表中。这样就可以使用hibernate提供的组件机制。请看下面这个案例:(Javabean省略set和get方法)1、JavabeanName.Java:public class Name { private String FirstName; private String LastName原创 2012-06-19 15:03:57 · 780 阅读 · 0 评论 -
Hibernate入门BLOG [六、Hibernate的关键字总结]
如果Oracle数据库中用到了Hibernate的表示User的话是会报错的、因为Oracle中的User是一个关键字。而此时我们解决的话有两种:当然column如果冲突了关键字也是这样去改的。1、 改掉对应的表名:如下面的table配置<hibernate-mapping package="cn.hibernate.model"> <!-- id表示主键,而name=id指的原创 2012-06-19 15:07:02 · 1197 阅读 · 0 评论 -
Hibernate入门BLOG[十、Hibernate对象关系多对多映射]
多学生------多教师1、 Java类文件:【省略set和get方法】Student.javapublic class Student { private int id; private String name; private Set teas;}Teacher.javapublic class Teacher { private int id; private Stri原创 2012-06-25 10:19:59 · 860 阅读 · 0 评论 -
Hibernate入门BLOG[九、Hibernate对象关系多对一映射]
多员工-----1部门我们可以先建立对象模型。然后数据库就会自动创建表。下面我们看一个案例:1、 创建两个moel对象:(在此省略set和get方法)Dept.java private int id; private String deptname; Employee.javaprivate int id; private String empname; //多对一的关系。设置原创 2012-06-25 09:36:39 · 745 阅读 · 0 评论 -
Hibernate主键生成策略备注
ID生成策略(Hibernate3) 通常情况下,用的比较多的是代理主键的形式。而且,我们习惯于于让该主键字段能够自动增长,来保证其唯一性。但是,不同的数据库自动增长的方式并不是相同的。如在SQLSERVER中,用identity;MYSQL中,用increment,ORACLE中通常采用sequence。 这样一来,在数据库的主键列操作上,便会显得比较麻烦。但是在Hibernat转载 2013-03-25 10:32:45 · 1112 阅读 · 0 评论