Hibernate学习笔记

来源:互联网 发布:淘宝基础版 全屏店招 编辑:程序博客网 时间:2024/06/05 09:46

1.读取图片

InputStream in=new FileInputStream(“url”);

Byte[] photo=new byte[in.available()];

In.read(photo);

In.close();

2.ID主键映射

子元素generator是用于指定主键生成策略

Assigned是指用户自己指定主键生成策略

Identity使用数据库自动增长策略,不是所有数据库都支持

Native--主键为数字类型

UUID--主键为字符串类型

3.主配置文件

(1)数据库信息:方言、URL、驱动、用户名、密码

(2)导入映射文件

(3)其他配置:show_sql...

4.集合映射

(1)类型      Java中声明     映射元素

(2)Set          set            <set>

(3)List          List            <List>

(4)Map         Map           <Map>

(5)Bag          List/Collection   <Bag>

(6)................

(7)要说明的信息:只要有集合,就一定有集合表、集合外键、集合元素、对于List和数组,还需要一个索引列、对于Map还需要key

5.关联关系映射

(1)一对多:属性名、集合外键、关联的实体类型(onetomany.........

(2)多对一:属性名、外键列名、关联的实体类型

(3)多对多:属性名、中间表、集合外键--引用当前对象表主键的那个外键、关联的实体类型、另一个外键--引用关联实体表主键的那个外键

(4)一些重要属性:

Inverse:是否放弃维护关联关系、默认为false表示可以维护、实体类型的集合映射中可以使用(一对多、多对多)

Sort:在内存中排序(类似于TreeSet)、默认为unsorted、在无序的集合映射中可以使用

Order-by:使用数据库排序、默认不排序、在无序的集合映射中可以使用

Cascade:级联、默认为none、在所有的关联关系映射中可以使用、常用的值--allsave-updatedeletenone

6.session中的方法:

对象的状态    

临时状态:与数据库没有对应,跟session没有关联,

          一般是新new出来的对象

持久化状态:对象在session的管理之中,最终会有对应的数据库记录

            特点:有oid、对对象的修改会同步到数据库中

游离状态:数据库中有对应记录,但对象不在session管理之中

          修改此状态对象时数据库不会有变化

删除状态:调用了delete方法后的对象

                    session中      数据库中

            临时                    

            持久化               最终会有

            游离                    

            删除     调用了delete方法

(1)操作实体对象的有saveupdatedeletesaveOrUpdate

(2)Save--把临时状态变为持久化状态、update--把游离状态变为持久化状态

(3)操作缓存:clearevictflush

(4)查询实体对象:getloadcreateQuerycreateCriteria

(5)Getload区别

                   加载方式       返回值         如果数据不存在

  Get             立即加载       真实对象或null     返回null

  Load            延迟加载       代理对象          抛出异常

(6)操作大量数据,要防止session中的对象过多而造成内存溢出

(7)session原理

(8)一对一关系--两种方式(掌握第一种)

7、Hibernate检索方式:OIDHQLQBC

8、聚集函数:countmaxminavgsum

  分组:group byhaving

9、HQL语句

  HQL查询的对象、属性,写的时候写的是类名、属性名

  HQL的关键字不区分大小写,类名与属性名区分大小写

10、二级缓存(默认是关闭的)

 

原创粉丝点击