随笔分类 -  Hibernate

摘要:datasource: 抽象的 有getconnection这个方法 提供标准化的去的一个数据库连接 beans.xml jdbc.properties Test 阅读全文
posted @ 2018-09-23 12:47 橘柑之味 阅读(192) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-09-07 22:08 橘柑之味 阅读(44) 评论(0) 推荐(0)
摘要:为什么取1248 二进制 CRUD 移位效率高 在并发和效率选择一个平衡点 一般不会考虑幻读 因为我们不会再一个事务里查询两次,(只能设置为seralizable) 悲观锁和乐观锁的前提是read-uncommitted 在数据库中 默认是repeatable read 悲观锁是想着总有人要更改 所 阅读全文
posted @ 2018-09-07 21:58 橘柑之味 阅读(122) 评论(0) 推荐(0)
摘要:事务:要么都要完成,一个不完成就要回滚。 ACID 原子性 一致性 独立性 持久性 第一类丢失更新 第一类丢失更新 脏读(读了另外一个事务没有提交的数据) 不可重复读(在同一个事务里,对数据库里的值前后读取值不一样) 第二类丢失更新(不可重复读的特殊情况) 幻读/(插入/删除)(读的时候,插入一条数 阅读全文
posted @ 2018-09-07 21:40 橘柑之味 阅读(70) 评论(0) 推荐(0)
摘要:缓存 就是把本来应该放在硬盘里的东西放在内存里 将来存内存里读 一级缓存: session缓存 二级缓存: sessionFactory级别的 (适合经常访问,数据量有限,改动不大) 很多的session缓存 找不到再去数据库拿 开启二级缓存 查询缓存 比如说 我查的是2-8的数据 然后呢我又查了3 阅读全文
posted @ 2018-09-07 21:22 橘柑之味 阅读(134) 评论(0) 推荐(0)
摘要:Sessionclear 否则session缓存里越来越多 Java有内存泄露吗? 在语法中没有(垃圾自动回收) 但是在实际中会有 比如读文件没有关什么的 1+N问题 解决方法:把fetch设置为lazy 什么时候就为空 Bachsize 只是缓解 使用joinfetch Category pack 阅读全文
posted @ 2018-09-07 20:45 橘柑之味 阅读(89) 评论(0) 推荐(0)
摘要:Category.java Topic.java Msg Msginfo Test test1 @Test public void testHQL_02() { Session session = sf.openSession(); session.beginTransaction(); Query 阅读全文
posted @ 2018-09-07 20:13 橘柑之味 阅读(100) 评论(0) 推荐(0)
摘要:1 树状结构的设计 Course score Student 阅读全文
posted @ 2018-09-07 11:16 橘柑之味 阅读(153) 评论(0) 推荐(0)
摘要:用一张 每一个类一张表 建立外键 第一种 一张总表 Person Student. Teacher testsave testload 这种方式会产生大量冗余字段 比如存Teacher会导致score为空等 适合数据量少使用 第二种方式 每一个类一个表 Person Student teacher 阅读全文
posted @ 2018-09-07 10:17 橘柑之味 阅读(101) 评论(0) 推荐(0)
摘要:不太重要 List 用于排序 Map key一般是user的某个字段(多半是主键 integer) User.java 阅读全文
posted @ 2018-09-06 22:01 橘柑之味 阅读(93) 评论(0) 推荐(0)
摘要:1.save 一对多双向 Group.java test test 即便去除点cascade也会取掉 如果设置fatch为lazy 在找这个对象的时候就不会自动再去找关联的那一方 但是在找另外一方的时候如果是fatch为eager 则又会发出select语句。 update 删除少的一方 阅读全文
posted @ 2018-09-06 21:38 橘柑之味 阅读(142) 评论(0) 推荐(0)
摘要:情景:一个老师可能有多个学生,一个学生也可能有多个老师 多对一单向: 例如老师知道自己教哪些学生,学生却不知道自己被哪些老师教 方法:使用第三张表 分别存两张表的id annotation Student.java Teacher.java XML test 多对多 双向关联 必设mapped 老师 阅读全文
posted @ 2018-09-06 17:28 橘柑之味 阅读(107) 评论(0) 推荐(0)
摘要:Group.java User.java Xml方式 user.hbm.xml 阅读全文
posted @ 2018-09-06 17:03 橘柑之味 阅读(121) 评论(0) 推荐(0)
摘要:多对一单向关联 数据库设计: 错误做法:在多方加外键 在多这一方加外键 第一种 annotation Group.java User.java XML user.hbm.xml test 阅读全文
posted @ 2018-09-06 16:14 橘柑之味 阅读(98) 评论(0) 推荐(0)
摘要:将另外一个类嵌入到另外一个类 从而合并生成一张表 Husband.java wifi.java 使用Xml 测试 阅读全文
posted @ 2018-09-06 15:41 橘柑之味 阅读(93) 评论(0) 推荐(0)
摘要:例子: Husband.java Wife.java Wifepk.java test 总结 阅读全文
posted @ 2018-09-06 14:16 橘柑之味 阅读(114) 评论(0) 推荐(0)
摘要:凡是双向关联必设mapped by 由对方主导 wifi.java Husband.java 测试类略 XML中 Student.java StuidCard.java Student.hbm.xml Stuidcard.xml 测试类代码略 单向 双向在数据库中实际山没区别,但利于编程 一对一单向 阅读全文
posted @ 2018-09-06 14:08 橘柑之味 阅读(93) 评论(0) 推荐(0)
摘要:对象之间的关系 数据库之间的关系只有外键 注意说关系的时候一定要反面也要说通 CRUD 数据库之间设计 主键关联 单向的外键关联 中间表 一对一单向外键关联 Husband.java Wife.java 运行 可以改掉wife_id的名字 XML中 Student.java Stuidcard.ja 阅读全文
posted @ 2018-09-06 13:36 橘柑之味 阅读(102) 评论(0) 推荐(0)
摘要:1.可以重载方法进行配置文件的指定 这样读取到的就是hibernate.xml 但一般不建议修改 getcurrentsession 指的是上下文如果没有提交 就不会创建新的session opensession 永远打开新的session 用于鉴定事务边界 比如加入日志操作等 事务:要么同时完成, 阅读全文
posted @ 2018-09-05 22:06 橘柑之味 阅读(96) 评论(0) 推荐(0)
摘要:Xml 方法 在student.hbm.xml中 <generator class="uuid"></generator> 取值如下 1、identity:用于MySql数据库。特点:递增 <id name="id" column="id"> < generator class="identity" 阅读全文
posted @ 2018-09-04 23:54 橘柑之味 阅读(116) 评论(0) 推荐(0)