持久层开发需要注意的一些地方

ORM时注意事项
Load time

使用lazy load, load data as late as possible

Load more data than needed
1) 设计domain object(在ORM中也可以说是一张数据表)不要添加太多的字段,这样load domain object时候会读出太多无用字段,影响效率,尽量遵循数据库范式, 建立Aggregate关系。
2)在读取数据时,在数据量大的时候,不要全部读取,只读取所需字段。

数据库连接是数据库中开销最大的地方,需谨慎使用
尽可能使用连接池来进行处理,在Hibernate中就是这样使用的,有一个并发连接数,但要注意的是在生产环境下不要使用Hibernate自带的连接池,要使用第三方池如c3p0.

数据分析
数据生命周期分析

分析数据是只读得还是可修改的,数据的访问及更新频率,根据这些来制定数据访问策略,如制定缓存等等

数据访问模式分析
了解数据是怎样应用的可以帮助优化数据的读取策略,如根据应用在页面上的呈现可以来制定fetchsize等。


查询模式分析
在同一个连接池中使用short-running查询和long-running reporting查询会给用户带来不好的体验,因为long-running reporting查询会长时间占用连接,因此short-running查询始终获取不到connection而被饿死。针对这种方式,使用两个连接池来处理这两种不同的查询类型。


数据访问测试
1. 使用真实、规范的数据进行测试,并在测试时不要局限于相同的数据
2. 并发压力测试是必需的

你可能感兴趣的:(设计模式,Hibernate,orm)