映射的POJO类型中如果有基本类型最好都是用包装类来代替;

注意关联关系的正确设置,一对一(主键方式、外键外键方式),一对多和多对多的配置,单向、双向的配置;

更新核心配置文件的mapping:如果是在hibernate.cfg.xml中以导入映射文件的方式配置的话,注意在增加了新的domain类之后要将新的映射配置文件加入进去;

注意hibernate管理的对象的状态:是瞬时态还是托管态?有时候事务结束了之后还去读代理对象的值,这个时候设置了延迟加载的话会报错的;

注意在一对多主键级联操作的时候外键为NOT NULL可能会引发违例操作,这就和hibernate执行sql语句有关了;

在一对多关联中,常把多的一方作为主动关联方,由它去维护关联关系;也就是将many的一方inverse=false,而且这样也有助于改善性能;维护关联关系体现在将对方的引用设置到自己的属性当中;

尽量少用多对多关联(可以用多个一对多关联来来代替多对多关联);

多对多注意设置延迟加载,避免无谓的性能开销;

多对多关系中由于关联关系是两张表相互引用,因此在保存关联状态时必须双方同时保存,体现在二者互相设置对方的引用;

一对多关系的维护可以是双方都维护,也可以是由一方维护,但是多对多中仅且仅有一方维护关系(也就是inverse的设置);

在一个session中对同一个id最多只能有一个与之对应的瞬时态对象

在修改或这个删除的时候最好都是先查出要修改的对象,再进行操作,这样可以避免原来的关联关系;

通过引用查询可以不在代码中出现HQL/SQL语句;

对Action中对托管态对象的修改由于事务已经关闭而不会同步到数据库中;

避免查询时的SQL语句的N+1问题;

在需要的时候可以将延迟加载设置为false,在class标签中,这样在Session关了之后依然可以使用关联对象;

在编写POJO的时候,必须使用JDK的接口,而不应该使用JDK Collection的实现类,因为Hibernate返回的Set是Hibernate对Set接口的特定实现,因而会造成强转错误;

属性的延迟加载可以在<property>标签中设置,但是要对类进行加强;

Hibernate的内部缓存机制可能造成进行大量插入操作的时候OutOfMemory:可以每隔一段时间清空一次缓存;二是可以在核心配置文件的<session-factory>标签中加入<property name="hibernate.jdbc.batch_size">25</property>来进行批量插入;

hibernate中分页操作的实现;

hibenate的长对话session实现在web项目可以用Spring提供的OpenSessoinInView实现;

有问题欢迎相互探讨!

最新文章

  1. iOS从零开始学习直播之音频1.播放本地音频文件
  2. Sharepoint创建List
  3. ZOJ 3804 YY&#39;s Minions (简单模拟)
  4. 状态压缩codeforces 11 D
  5. jQuery1.11源码分析(7)-----jQuery一些基本的API
  6. EditPlus使用心得及常用快捷键
  7. 使用UI Automation实现自动化测试 --工具使用
  8. Oracle基础 数据泵导出/导入Expdp/impdp(转)
  9. C# App.config 详解
  10. python参考手册 Read
  11. karma、jasmine做angularjs单元测试
  12. DTO学习系列之AutoMapper(六)----EntityFramework和AutoMapper的婚后生活
  13. 电池和Adapter切换电路改进实验(转)
  14. Gotorch - 多机定时任务管理系统
  15. 界面渐变特效 -- CSS实现 -- 兼容IE8
  16. ESP8266 HTTP 项目(2)HTTP网页修改WIFI连接,上电自动连接上次的WIFI。
  17. synchronized(八)
  18. Java基础整理之字节、数组、字符串、面向对象
  19. redis环境搭建与配置
  20. HPU 第三次积分赛:阶乘之和(水题)

热门文章

  1. 程序调控和监视(Logcat,Debug)
  2. Asp.Net MVC part45 过滤器、模板页
  3. easyui中一键清空搜索栏搜索条件的思路
  4. JAVA call graphs JAVA调用图
  5. easyui textbox获取焦点事件
  6. npm install -S -D -g 有什么区别
  7. centos7.2 kvm虚拟化管理平台WebVirtMgr部署
  8. 怎样在点击li时添加样式,移除兄弟样式
  9. zclip结合easyui实现复制datagrid每行特定单元格数据的功能
  10. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何动态显示当前运行行