精通Hibernate学习一

第一章 对象-关系映射的基础
观点1:符合JavaBean风格,使用了可以指定访问级别的set和get方法。
观点2:set和get方法的使用者:java应用层的程序;Hibernate。
           前者的访问受限于方法的访问级别,后者无视(思考 why)
           tips:这两个角色用set和get方法操作持久化类来干什么?
观点3:映射的类型,提供基本的映射类型,并允许扩展。
观点4:访问方式,默认的是property属性访问,即get和set;永续使用反射机制直接访问。
           配置:<property name=“” access=“property/field”>
观点5:对于get和set方法,可以人为的加入程序逻辑,来应用于特殊场景。
观点6:设置派生属性。对于一些特殊的,需要在数据库中查询多个记录,并执行指定函数操作来获得结果的属性,可以特殊配置。如平均值,总值,最高值等等
           配置:<property name=“” formula=“sql语句”>
观点7:Hibernate初始化时,会根据映射配置信息,预先定义并实现通用的sql映射语句:
           insert,update,delete,根据OID加载load。它们会存在SessionFactory的缓存中。
           思考(这个我认为可以是Hibernate优化的重点,根据实际应用定制,而不是采用默认配置信息)
           常用配置可分为两个应用级别:class和property
           class:    mutable(易变的)等价于全property的update;
                         dynamic-insert
                         dynamic-update
           property:update
                         insert
                         dynamic-insert
                         dynamic-update
            均为布尔值
观点8:处理SQL引用标识符。对于特殊的表舒服,如空格符的识别,‘ACCOUNT STA’
           配置:sql:create table ACCOUNT(
                           ...............
                           )
                    hibernate:<property name="account_sta" colunm="'ACCOUNT STA'">
观点9:创建命名策略,简单的说,就是在持久层的属性名与数据库的命名之间做一个适配,用到了适配器模式。
           应用场景:数据库所有字段希望均为大写,并有指定的前缀和后缀。
           操作步骤:1,实现Hibernate的通用接口,NamingStrategy即可
           注意事项:对于命名策略,是config级别的,也就是说是全局的,需要初始化时显示的声明。
观点10:设置命名Schema,设置类的包名,个人认为属于小操作,小技巧,利于结构清晰,没太大的实用性。
            <hibernate-mapping default-schema="BK"> or
                <class default-schema="BK">
所有的映射,都会在配置信息前加BK_的前缀
同样的,包名的关键字是package。

你可能感兴趣的:(数据结构,sql,Hibernate)