Hibernate
iteye_14977
这个作者很懒,什么都没留下…
展开
-
Ehcache二级缓存,查询缓存,分布式缓存总结
二级缓存和查询缓存都相当于一个map。 二级缓存缓存的key为id,value为实体对象。一般load(),iterate()使用到二级缓存,list()需要结合查询缓存使用。iterate()和list()区别如下: iterate()不需要开启查询缓存,它首先发出一个sql如”select s.id from Student s”去数据库把id属性列表取出来,然后再根据id列表一...2009-12-22 11:32:05 · 98 阅读 · 0 评论 -
hibernate 多对多 中间表主键问题 及id生成方式
hibernate多对多中间表,一般都是两个外键,例如 用户表(user),主键:userid. 角色表(role),主键:roleid. 中间表字段为两个外键:userid,roleid作为联合主键。 但是如果想在中间表加一个字段作为单独的主键,即设置一个字段id作为主键。并且数据库采用的是oracle数据库,主键不能自增。那么采用hibernate向中间表插数据的时候,就会出现问题,即主键i...2009-12-23 14:58:59 · 441 阅读 · 0 评论 -
【转】Hibernate的HQL支持数据库函数
[size=small] Hibernate的HQL已经支持大多数数据库函数,肯定不能包括所有, 幸运的是Hibernate已经对此做了相应的方案解决, 也就是Dialect中注册数据库函数.具体做法如下,我们以Mysql5为例 Mysql 的convert函数,现现在数据库的字符集是utf-8,如果想实现中文排序,就需要用convert(filedName using gbk) 实...原创 2010-10-12 14:14:11 · 162 阅读 · 0 评论 -
Hibernate一对多级联删除
1.删除多的一方(学生): 如要删除学生A: a、把学生A从学生A所在的班级的学生集合中remove b、学生A设置班级为null c、a和b已经把关联关系解除,可以delete学生A了 2.删除一的一方(班级),多的一方不级联删除: 班级A中有学生A,现在要删除班级A但不级联删除学生A且学生A移到班级B: a、从班级A中的学生集合中删除学生A b、保存或获取班级B c、把学...2011-09-22 13:28:52 · 176 阅读 · 0 评论