在Hibernate的应用中,应优先考虑以下应用实践:
1.使用绑定变量,应该总是用占位符“?”来绑定变量,不要在查询中用字符串值来构造非常量值。
2.可以考虑在性能瓶颈的地方使用硬编码的JDBC.
3.在多层应用架构中,可考虑使用托管对象,把已加载的持久对象在Servlet/Jsp层之间来回传递。
4.对于对象关联,应优先考虑懒加载,若目标是可以被缓存的,尤其是缓存的命中率非常高的情况下,应该使用Lazy=false.
5.为了降低访问数据库的频率,减少select语句的数目,可使用迫切左外连接或迫切内连接检索策略,对延迟检索策略或立即检索策略设置批量检索数目,使用查询缓存。
6.为了避免多余加载程序不需要访问的数据,可使用延迟检索策略,使用集合过滤。
7.避免报表查询数据占用缓存,可利用投影查询功能,查询出实体的部分属性。
8.利用Query的iterator()方法,减少select语句中的字段,从而降低访问数据库的数据量。