当前位置: 技术问答>java相关
会话Bean与实体Bean的选择
来源: 互联网 发布时间:2015-11-06
本文导语: 一本书上说的:对于Bean持久化,好的消息是你有的选择(SMP、BMP、CMP),但坏的消息就是你必须选择。 现在我觉得这话确实是很对,在此希望得到大家的帮助:比如在帐务系统中,对各笔业务分录的录入帐簿,是用会...
一本书上说的:对于Bean持久化,好的消息是你有的选择(SMP、BMP、CMP),但坏的消息就是你必须选择。
现在我觉得这话确实是很对,在此希望得到大家的帮助:比如在帐务系统中,对各笔业务分录的录入帐簿,是用会话Bean实现持久化还是为每一个表实现一个实体Bean实现持久化效率高呢?或者说对应该什么样的情况应该用什么样的方案呢?
谢谢大家指点!
现在我觉得这话确实是很对,在此希望得到大家的帮助:比如在帐务系统中,对各笔业务分录的录入帐簿,是用会话Bean实现持久化还是为每一个表实现一个实体Bean实现持久化效率高呢?或者说对应该什么样的情况应该用什么样的方案呢?
谢谢大家指点!
|
如果数据量不大,可以考虑用实体bean,并且一般不会用实体bean来实现大量数据的查询,如模糊查询,实体bean在实际应用中一般用做删除,精确查询,更新,因为每一个实体bean都会在内存中占用相对较大的空间,所以如果较大的实体bean查询结果会直接导致服务器down机(虽然ejb容器一般都有钝化,激活功能)。通常都是用会话bean来通过datasource来直接操作数据库
|
会话Bean与实体Bean有时候是很难选择的,就想选择.NET与Java一样,是个态度问题。原则上与数据库打交道的地方都应该采取实体Bean,但是实际采用中如果采取这种方式的,势必性能会很糟糕,所以实际中对于那些涉及到批数据量的操作时还要采取会话Bean。
一般要结合你自己的项目的特点而采取相应的对策!
一般要结合你自己的项目的特点而采取相应的对策!
|
如果想要使你的项目扩展性更好通常这样处理:
凡是涉及到数据库的就用实体Bean,然后定义一个会话Bean,客户必须通过会话Bean才能访问实体Bean,当然,如果你的查询要求返回的数据量很大,也可以直接利用会话BEAn访问数据库,不过,这并不是良好的设计。
凡是涉及到数据库的就用实体Bean,然后定义一个会话Bean,客户必须通过会话Bean才能访问实体Bean,当然,如果你的查询要求返回的数据量很大,也可以直接利用会话BEAn访问数据库,不过,这并不是良好的设计。