Hibernate--最佳实践 重要

news/2024/7/10 5:01:34 标签: hibernate, 最佳实践, 优化
使用hibernate最佳实践


1 在做关系的时候 尽可能使用单向关联 不要使用双向关联
2 在大项目中 如果数据量超过百万行的项目  使用Hibernate可以酌情考虑一下几个原则:
2.1重要:不要使用对象关联  尽可能使用冗余字段来替代外键(带来的问题就是必须修改所有的冗余)
  因为百万条数据 如果使用外键来跨表查询 那么性能会非常的慢 比如model1的设计
  
  但是也有问题:比如在修改班级的名称时候 我们仍然需要把学生里面的班级的名称给修改 
  虽然这样 效率仍然很高
  
  如果有一个需求 就要使用student 又要classroom又要special 那么我们可以创建一个DTO传输类 不需要
  在数据库中建立很多冗余字段,而只要建立DTO类 在表示层时候,我们分别从数据库取不同的对象就可以

2.2查询数据不再使用HQL(查询会进入两级缓存 效率低) 全部使用SQL查询,如果涉及缓存,自己根据情况,自己加入相应的缓存
而不使用Hibernate的缓存。 hibernate的SQL查询是不进入缓存的。 hibernate的SQL查询 非常好用
 
其他增加 修改 删除 还是用HQL 很方便

http://www.niftyadmin.cn/n/916500.html

相关文章

task_struct结构描述

转自http://www.cnblogs.com/hanxiaoyu/p/5549212.html 1. 进程状态(State) 进程执行时,它会根据具体情况改变状态 。进程状态是调度和对换的依据。Linux中的进程主要有如下状态,如表4.1所示。 内核表示 含义 TASK_RUNNING …

hibernate--annotation的使用

1 首先要把mapping标签的resource换成class 2注意很多类 都是从javax.persistence中来的 要注意 student.java Entity Table(name"t_stu") //Cache(usageCacheConcurrencyStrategy.READ_ONLY)//开启二级缓存 缓存对象 //对该对象加锁是为了修改安全 这种经常修改的…

隐藏导航

1 <head>2 <script language"javascript" type"text/javascript" src"../../../教学/HTML部分/0327/jquery-1.4.2.min.js"></script>3 <meta http-equiv"Content-Type" content"text/html; charsetutf-8&qu…

Linux内核里的DebugFS

&#xfeff;&#xfeff;转自http://www.cnblogs.com/wwang/archive/2011/01/17/1937609.html DebugFS&#xff0c;顾名思义&#xff0c;是一种用于内核调试的虚拟文件系统&#xff0c;内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等&…

计算机基础--Unicode码和ASCII码的关系

1 ASCII就是编码英文的26个字母和一些常见的符号&#xff0c;之后扩展了一半。总之是一个字节来做编码&#xff0c;大于128的部分是一些特殊符号。但ASCII是无法编码别的东西的&#xff0c;比如说是不存在“中文的ascii码需要2个字符”这种说法的。ASCII就只有一个字节。 一共…

Web前端性能优化进阶——完结篇

前言 在之前的文章 如何优化网站性能&#xff0c;提高页面加载速度 中&#xff0c;我们简单介绍了网站性能优化的重要性以及几种网站性能优化的方法&#xff08;没有看过的可以狂戳 链接 移步过去看一下&#xff09;&#xff0c;那么今天我们深入讨论如何进一步优化网站性能。 …

计算机基础--Java中int char byte的关系

重要&#xff1a;一个汉字占用2byte&#xff0c;Java中用char&#xff08;0-65535 Unicode16&#xff09;型字符来存字&#xff08;直接打印输出的话是字而非数字&#xff09;&#xff0c;当然要用int&#xff08;32位&#xff09;来存字是可以的&#xff0c;将char型值赋给int…