Hibernate向我们提供的主要的操纵数据库的接口,Session就是其中的一个,它提供了基本的增,删,改,查方法.而且具有一个缓存机制,能够按照某个时间点,按照缓存中的持久化对象属性的变化来更新数据库,着就是Session的缓存清理过程.在Hibernate中对象分为三个状态,临时,持久化,游离.如果我们希望JAVA里的一个对象一直存在,就必须有一个变量一直引用着这个对象.当这个变量没了.对象也就被JVM回收了.当然这个是最基本的常识了.当Session的save()方法持久化了一个对象的时候,即使这个对象的引用变量小 ...
- 07:43
- 浏览 (368)
- 评论 (0)
Hibernate的映射关联关系和我们现实世界里事物的关联关系一样.比如在UML语言中,以客户Customer和订单Order的关系为例.一个客户可以发送多个订单,而一个订单只能属于一个客户,这是一对多的关联,因此可以成为单向关联.如果同时包含了两两种关联关系,就成为双向关联.在关系数据库中只有外键参照主键的关系.所以关系数据库实际上至支持一对一,或一对多的单向关系.在类于类之间的关系中.要算多对一关系和数据库中的外键参照主键关系最匹配了.因此如果使用单向关联从订单到客户的多对一单向关联,在订单类中就要定义一个客户的属性. ...
- 07:07
- 浏览 (721)
- 评论 (0)
Hibernate采用对象标识符,也就是通常我们所说的OID来创建对象和数据库表里记录的对应关系,对象的OID和表里的主键对应,所以说OID是非常重要的,不应该让程序来给它赋值.数据库区分同一表的不同记录是用主键来区分.数据库中的主键最重要的3个基本要素就是不允许为null,不允许有重复值,主键永远不会改变.所以通常我们设计表都会设计主键的值为自动增加,没有业务逻辑含义的一组数字,当然针对每个数据库,设置的方法也不同.但是都非常简单.加一个属性就可以了.   ...
- 07:05
- 浏览 (361)
- 评论 (0)
Hibernate的持久化类使用的是JavaBean的风格,为要被访问的属性提供了一套get和set方法,这两个方法也叫做持久化类的访问方法.记得曾经在接触JavaBean的时候我很迷糊,总觉得提供这两个方法,倒不如把Bean的属性设置public,然后直接调用对象.属性,这样来的方便.但是后来,有一个这样的需求,就是一个人名字可以被查看,但是不可以修改.这个时候如果用set方法的话,只需要把set方法的修饰符换为private就OK了.如果是用对象.属性的形式调用就麻烦了.而且最重要的一个有点是JavaBea ...
- 07:21
- 浏览 (408)
- 评论 (0)
Hibernate为了简化开发,给我们提供了四种工具,hbm2java,hbm2ddl,XDoclet,Middlegen.其中我觉得hbm2java(根据映射文件生成JAVA源文件),hbm2ddl(根据映射文件生成数据库文件,这两个工具非常实用.还有XDoclet(根据带有XDoclet标记的JAVA源文件生成映射文件).Middlegen(根据数据库文件生成映射文件的工具也不错.不过我没怎么使用过.所以这里就不多说了.好了下面我们创建一个对象-关系映射文件,来演示一下这两种工具的使用方法.首先创建我们的XML映射文件 ...
- 08:47
- 浏览 (628)
- 评论 (0)
Hibernate基础知识,谈到这里,首先最重要的是应该理解ORM,ORM是什么呢?3个单词的缩写,Object-Relation Mapping,既对象-关系映射的意思.这是一种模式,这种模式在单个组件中负责说有实例业务对象的持久化,封装了数据库访问的细节,这就是Hibernate的核心原理.ORC解决主要的问题就是对象-关系映射.因为项目的业务逻辑模型是面向对象的,而关系型数据模型是面向关系的,所以Hibernate把一个持久化的类和数据库中的一张表对应,类的每一个实例对应这个表的一条记录.类的每一个属性,对应这表里的 ...
- 07:10
- 浏览 (331)
- 评论 (0)
冬眠温暖,"冬天"快乐,一夜的冬雨在静静中把冬衣轻轻换上,Hibernate,就东面一样,在程序"冬天"里给我们带来一丝温暖,Hibernate的名字真的很优美,当我曾经第一天知道有一种技术叫"冬眠".我就深深的喜欢上了这种技术.所以产生了一种想法,把这种技术以最简单明了的方式记录自己的Blog上,一方面能帮助一些刚刚学习它的朋友,另一方面也能让自己对Hibernate的理解更加深刻.希望大家多多支持我,多光临我的Blog.好了下面言归正传,Hibernate是JAVA应用和关系型数据库中间的一座桥梁.它负责把JAVA对象 ...
- 11:33
- 浏览 (343)
- 评论 (0)
访问控制:private 私有的protected 受保护的public 公共的类、方法和变量修饰符abstract 声明抽象class 类extends 扩允,继承final 终极,不可改变的implements实现interface 接口native 本地new 新,创建static 静态 strictfp 严格,精准synchronized 线程,同步transient 短暂volatile 易失
程序控制语句break 跳出循环continue 继续return 返回do 运行while 循环if 如果else 反之for 循环instanceof 实例switch 开关ca ...
- 02:25
- 浏览 (279)
- 评论 (0)
log4j,顾名思义是专门用来做日志的,有一些书和教程经常把这种非常简单的东西讲的乱作一团,让一些处于学习阶段的朋友看了以后,感觉晕头转向的,我曾经就是受害人之一,所以今天发表一篇,让学习的人一看就懂的小文章,希望对一些学习log4j和没用过log4j的朋友起到帮助.
log4j是Apache组织的一个开源项目,它是一个日志操作包,通过使用Log4j可以指定日志信息输出的目的地,如控制台,文件,GUI组件,NT的时间记录器,还可以控制每一条日志输出的格式,此外通过定义日志的级别,能够非常细致的控制日志的输出,最好的地方是这 ...
- 08:07
- 浏览 (206)
- 评论 (0)







评论排行榜