导航

随笔分类 -  Hibernate

1

摘要:Hibernate JPA 关联关系: 使用cascade做级联操作(只有在满足数据库约束时才会生效): CascadeType.PERSIST: 级联保存,只有调用persist()方法,才会级联保存相应的数据 CascadeType.REFRESH: 级联刷新,当多个用户同时操作一个实体,为了用 阅读全文

posted @ 2017-10-10 18:16 耍流氓的兔兔 阅读(173) 评论(0) 推荐(0)

摘要:JPA: Hibernate如何实现JPA: Hibernate主要通过三个组件来实现: hibernate-annotation: 是Hibernate支持annotation方式配置的基础,它包括了标准的JPA annotation以及Hibernate自身特殊功能的annotation hib 阅读全文

posted @ 2017-10-10 16:43 耍流氓的兔兔 阅读(228) 评论(0) 推荐(0)

摘要:Hibernate事务管理: Hibernate本身没有实现自己的事务管理功能,而是对底层JDBC事务或JTA事务的轻量级封装 Hibernate将底层的JDBCTransaction或JTATransaction进行了封装,再在外面套上Transaction和session的外壳,其实是通过委托底 阅读全文

posted @ 2017-10-10 13:59 耍流氓的兔兔 阅读(125) 评论(0) 推荐(0)

摘要:Hibernate二级缓存: Hibernate一级缓存是session对象的缓存,当session关闭时,一级缓存丢失 一级缓存只用于一次业务操作内的缓存 一次缓存默认开启,无法关闭 Hibernate二级缓存是sessionFactory的缓存,当sessionFactory关闭时,二级缓存丢失 阅读全文

posted @ 2017-10-09 22:05 耍流氓的兔兔 阅读(172) 评论(0) 推荐(0)

摘要:Hibernate整合c3p0 Hibernate中可以使用默认jdbc连接池,但是无论功能还是性能都不如c3p0 在pom添加jar包: 在hibernate.cfg.xml中配置: 测试: Console: 阅读全文

posted @ 2017-10-09 12:17 耍流氓的兔兔 阅读(261) 评论(0) 推荐(0)

摘要:抓取策略: 为了改变SQL语句执行的方式 当应用程序需要在Hibernate实体对象的关联关系间进行导航的时候,Hibernate如何获取关联对象的策略 抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL或Criteria Query中重载声明 Hibernate的抓取策略只影响get | 阅读全文

posted @ 2017-10-09 12:12 耍流氓的兔兔 阅读(168) 评论(0) 推荐(0)

摘要:延迟加载策略: 延迟加载: 在真正需要数据的时候,才真正执行数据加载操作 为了减少数据库的访问效率,减少数据库的访问次数,提高查询性能 Hibernate通过Proxy机制来实现延迟加载: Hibernate从数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一对象 阅读全文

posted @ 2017-10-09 11:43 耍流氓的兔兔 阅读(147) 评论(0) 推荐(0)

摘要:一级缓存: Hibernate的一级缓存是指Session(属于事务范围的缓存,由Hibernate管理,无需干预) 它是一块内存空间,用来存放从数据库查询出的java对象,有了一级缓存,应用程序可以减少访问数据库的次数,提高了性能 在使用Hibernate查询对象的时候,首先会使用对象属性的OID 阅读全文

posted @ 2017-10-09 11:13 耍流氓的兔兔 阅读(203) 评论(0) 推荐(0)

摘要:Hibernate中性能优化涉及的知识点: 对象的三种状态 一级缓存和快照 延迟加载策略 抓取策略 整合c3p0连接池 二级缓存 Hibernate中对象的三种状态: 临时态(Transient): 没有被session管理,没有OID 瞬时态对象不会被持久化到数据库中,也不会被赋予持久化标识(id 阅读全文

posted @ 2017-10-09 09:40 耍流氓的兔兔 阅读(160) 评论(0) 推荐(0)

摘要:SQL查询: 5.2之后的版本: 5.2之前的版本: 5.1之前的版本: 阅读全文

posted @ 2017-09-29 16:56 耍流氓的兔兔 阅读(180) 评论(0) 推荐(0)

摘要:QBC查询: 1 全表查询 2 条件查询 3 分页查询 4 查询排序 5 聚合查询 6 投影查询 阅读全文

posted @ 2017-09-29 16:48 耍流氓的兔兔 阅读(193) 评论(0) 推荐(0)

摘要:HQL查询: Hibernate单表查询: 1 全表查询 2 别名查询 3 条件查询 4 具名查询 5 分页查询 6 查询排序 7 聚合查询 8 投影查询 Hibernate多表查询: 1 内连接: 2 左连接: 3 右连接: 阅读全文

posted @ 2017-09-29 16:34 耍流氓的兔兔 阅读(159) 评论(0) 推荐(0)

摘要:一对一关系映射: 数据库表结构: 创建实体类: 1 唯一外键关联映射: 创建配置文件: 2 一对一主键关联映射: 阅读全文

posted @ 2017-09-29 15:24 耍流氓的兔兔 阅读(195) 评论(0) 推荐(0)

摘要:inverse: inverse和cascade的区别: 修改配置文件: SQL语句与分析: 查看数据库表: 阅读全文

posted @ 2017-09-29 09:05 耍流氓的兔兔 阅读(187) 评论(0) 推荐(0)

摘要:cascade: 级联保存(一对多): 级联删除(一对多): 在测试用例中测试: 阅读全文

posted @ 2017-09-28 22:21 耍流氓的兔兔 阅读(264) 评论(0) 推荐(0)

摘要:一对多关联(多对一): 数据库中customer表和order表的关系: 创建实体类: 创建映射文件: 创建配置文件: 查看并分析SQL语句: 多对多级联: 数据库中user表和role表的关系: 创建实体类: 创建映射文件: 创建配置文件: 查看并分析SQL语句: 解决方法: 1 既然两个表同时维 阅读全文

posted @ 2017-09-28 21:46 耍流氓的兔兔 阅读(249) 评论(0) 推荐(0)

摘要:1 get方法和load方法查询时的区别: 如果在缓存中没有找到相应的对象,get会直接访问数据库并返回一个完全初始化的对象,过程中可能涉及多次数据库调用;而load会返回一个代理对象,只有在对象getId()之外的方法被调用时才会真正的去访问数据库,在某些情况下大幅度提高了性能 如果数据库中没有数 阅读全文

posted @ 2017-09-28 20:37 耍流氓的兔兔 阅读(131) 评论(0) 推荐(0)

摘要:主键生成策略: 非主键属性: 阅读全文

posted @ 2017-09-28 19:40 耍流氓的兔兔 阅读(611) 评论(0) 推荐(0)

摘要:数据库连接<required>: 方言<required>: SQL显示方式: 映射信息<required>: 阅读全文

posted @ 2017-09-28 19:28 耍流氓的兔兔 阅读(331) 评论(0) 推荐(0)

摘要:ORM: Hibernate: Hibernate框架体系结构: Hibernate持久化类的编写规则: 在Maven项目中需要引入的jar包: Hibernate主要API: 在hibernate.cfg.xml中配置的顺序问题: 阅读全文

posted @ 2017-09-28 18:22 耍流氓的兔兔 阅读(223) 评论(0) 推荐(0)

1