当前位置: 技术问答>java相关
困惑很久的问题,一个实体BEAN只能对应一个TABLE吗?如果有几百个TABLE,难道要写几百个实体BEAN?
来源: 互联网 发布时间:2015-07-29
本文导语: 困惑很久的问题,一个实体BEAN只能对应一个TABLE吗?如果有几百个TABLE,难道要写几百个实体BEAN? | 完全不必拘泥! 一个entity对应数张表(全部或者部分),或者数个entity对应一张表在设计...
困惑很久的问题,一个实体BEAN只能对应一个TABLE吗?如果有几百个TABLE,难道要写几百个实体BEAN?
|
完全不必拘泥!
一个entity对应数张表(全部或者部分),或者数个entity对应一张表在设计上都是可行的。
多表对应的entity常称为复合entity, 客户端可以一个远程调用来获取全部
所需的字段信息;或者用一个远程调用来写所有实体内相关的表。
复合实体的作用:
1提高对象粒度,有助于减少远程调用
2把实体间关系组合进复合实体, (其利弊视情况而定)
3减少对象模型对数据库模型的依赖。
复合实体通常和value object一起使用,千万别在单值set和单值get了。:)
一个entity对应数张表(全部或者部分),或者数个entity对应一张表在设计上都是可行的。
多表对应的entity常称为复合entity, 客户端可以一个远程调用来获取全部
所需的字段信息;或者用一个远程调用来写所有实体内相关的表。
复合实体的作用:
1提高对象粒度,有助于减少远程调用
2把实体间关系组合进复合实体, (其利弊视情况而定)
3减少对象模型对数据库模型的依赖。
复合实体通常和value object一起使用,千万别在单值set和单值get了。:)
|
具体问题具体分析才行,个人的理解认为entity bean mapping 的是那些反映数据实体的表(例如:物品表,账户表之类),那些表示关系的表看要看实际应用,解决方法也有多样(session bean, serverlet 等等,不一一举例),
并不是所有的表都要mapping成entity bean,一个entity bean对应的数据表中的一行可以看作是一个object(正确的说是一个实体object的状态)
因此用Entity Bean来解决问题,一个很大的目的是为了持久化object
当然entity bean也不仅仅是数据表的mapping(读取或写入数据),作为一个实体object在将他形成instance后根据状态有一些实际有意义的方法(例如:对一个账户进行取款存款操作,很多书上都有类似的例子,不多举例了),这样的Entity Bean存在才是实际有意义的
因此要活用j2ee,不但要对系统进行分析OOAD的思想也是不可缺少的
并不是所有的表都要mapping成entity bean,一个entity bean对应的数据表中的一行可以看作是一个object(正确的说是一个实体object的状态)
因此用Entity Bean来解决问题,一个很大的目的是为了持久化object
当然entity bean也不仅仅是数据表的mapping(读取或写入数据),作为一个实体object在将他形成instance后根据状态有一些实际有意义的方法(例如:对一个账户进行取款存款操作,很多书上都有类似的例子,不多举例了),这样的Entity Bean存在才是实际有意义的
因此要活用j2ee,不但要对系统进行分析OOAD的思想也是不可缺少的
|
当然了,其实如果你是用Jbuilder7一类的IDE来开发的话,这些工具会帮助你完成大部分的工作的,有时候实现一个EntityBean甚至不需要你协一行代码
|
其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。
|
在cmp也可以啊。
在jbuilder下,当你选了多张表后,你可以点击[add link]去建立表之间的关系。
在jbuilder下,当你选了多张表后,你可以点击[add link]去建立表之间的关系。
|
我个人认为不是所有的表都要映射成实体bean的
实体bean应该用于那些访问并发量比较大的表,其他的操作应该在session bean中通过jdbc来完成这样的效率比用实体bean好
实体bean应该用于那些访问并发量比较大的表,其他的操作应该在session bean中通过jdbc来完成这样的效率比用实体bean好