Hibernate(一)

1 SessionFactory 保存了对当前数据库配置的所有映射关系,同时负责维护当前的二级数据缓存和Statement Pool。

2 Session 是非线程安全的。

3 Query和Criteria作为数据查询接口,提供了对查询条件的封装机制。Query面向HQL和Native SQL,而Criteria则提供面向对象的查询模式。

4 实体映射基础 类表映射包括 表名-类名映射;主键映射;字段映射;

5 高级映射技术:自定义数据类型 UserType接口和CompositeUserType接口

                        复合主键:基于实体类属性的复合主键 (需要复写hashCode和equals方法)和 基于主键类的复合主键

                                       Clob与Blob字段的映射

                        实体映射策略:

                        面向设计的粒度细分:Component关键字

                        面向性能的粒度细分:polymorphism="explicit"关键字声明了一个显示多态关系,只有明确指定类名的时候才会返回该类的实例。

                        实体层次设计(主表和字表的情况)

                        (1)Table per concrete class 表和子类之间的独立一对一关系 (缺点:汇总的时候性能低;父表修改则两个字表都要修改)

                        (2)Table per subclass 父类一个表,每个子类分别对应一个表 :使用joined-subclass关键字(缺点:多表操作性能问题)

                        (3)Table per Hierachy通过冗余字段使每个子类都可以保存所有信息:使用discriminator关键字

6 数据关联

(1)一对一关联

    (a)主键关联

     one-to-one节点

     cascade 当主控方执行操作的时候,被动方是否同步执行同一操作。

你可能感兴趣的:(Hibernate,数据库,session,table,equals,query)