Ebean ORM是Play的必备ORM!Java框架。当我在构建自己的对象关系映射器和其他对象关系行为模式之间进行选择,并使用ORM时,让我印象深刻的一个标准是Ebeans是否支持并发访问映射器。确实可以玩!使用异步线程,由于使用相同对象的并发请求仍然会出现读取器/写入器问题。
因此,问题是,Ebean ORM是否支持多线程(读取器/写入器问题)?
Ebeans支持并发访问映射器
EbeanServer对于多个并发使用是安全的。EbeanServer实例已构建,并包含有关bean属性等的所有元数据(因此包含映射信息)。
EbeanServer内部保存一些变异数据,例如L2缓存,查询执行的性能指标,查询执行计划等,但这些都是为了线程安全而编写的。
通常,查询对象和查询结果(对象图)不是线程安全的,并且仅供单线程使用。您可以通过query.setReadOnly(true)创建不能变异的只读对象图,因此可以安全地用于多线程。
EbeanServer还支持通过findFutureRowCount(),findFutureList()等进行后台获取,后者在内部创建查询的副本并处理细节。findFutureRowCount()在内部用作PagedList的一部分,以获取总行数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句