困惑很久的问题,一个实体BEAN只能对应一个TABLE吗?如果有几百个TABLE,难道要写几百个实体BEAN? 当然了,其实如果你是用Jbuilder7一类的IDE来开发的话,这些工具会帮助你完成大部分的工作的,有时候实现一个EntityBean甚至不需要你协一行代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是的不过在EJB2.0里边,实体Bean很好控制的 具体问题具体分析才行,个人的理解认为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的思想也是不可缺少的 其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。 完全不必拘泥!一个entity对应数张表(全部或者部分),或者数个entity对应一张表在设计上都是可行的。多表对应的entity常称为复合entity, 客户端可以一个远程调用来获取全部所需的字段信息;或者用一个远程调用来写所有实体内相关的表。复合实体的作用:1提高对象粒度,有助于减少远程调用2把实体间关系组合进复合实体, (其利弊视情况而定)3减少对象模型对数据库模型的依赖。复合实体通常和value object一起使用,千万别在单值set和单值get了。:) gfzhx(小小):“其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。”同意。ejb设计应该是灵活的而不是僵死的。 可以建立一个local的序列化的value object在客户端和远程之间装载、传输结果集合。 我说具体点,假如我执行这样一个查询: select a.name,a.code,b.name,b.price,c.description,......where a.code = b.code,.....那么a,b,c三个TABLE,能不能影射为一个ENTITY BEAN?如果影射为三个ENTITY BEAN的话,<sql> </sql>中应怎么实现? TO alink(阿林):谢谢你的回答,我想问一下那里有讲复合entity的资料? 可以考虑使用sessionless bean+jdo。 上午看了一些EJB2。0的资料,用BMP可以实现,也就是alink(阿林)所说的复合entity,不知CMP可不可以影射到多个表?希望高手赐教。 在cmp也可以啊。在jbuilder下,当你选了多张表后,你可以点击[add link]去建立表之间的关系。 呵呵,大家讨论好热闹。re:tony_2008(偶学习,偶进步。) 我是在一本《J2EE核心模式》里面看到的。不过此书已经比较旧了,可能在2.0下有新的模式,比原来的更好。可以参考参考。 :)最近项目太忙,都没有时间跟进了。 正在尝试: 元数据+序列化theserverside.com里边有更详细的讨论 to upc_chenli(chenli):你能说具体点吗?用CMP怎样实现?那么我的WEBLOGIC-EJB-JAR文件应怎么写(如果是用WEBLOGIC作容器)?能不能举个例子? 我个人认为不是所有的表都要映射成实体bean的实体bean应该用于那些访问并发量比较大的表,其他的操作应该在session bean中通过jdbc来完成这样的效率比用实体bean好 欢迎阅读master ejb or ejb编程指南 本人初学java SE 线程知识。。求解呀!!! java 中运行中的jframe 问题 请教高手,正则表达式替换为什么在出错? 求助jdk开发串口通信程序 关于java中++的问题 求助~!! SQLSERVER数据库将查询所得的结果插入另一表的问题?? SOS!一个鼠标右键选择树节点问题 最最初级的问题 请教各位,如何使用object类的equals方法~~?? Java菜鸟求教 请问哪位朋友有together的中文使用文档??? 请问平时用java开发应用程序,各位最常用也是最好用的是什么工具,java开发出的软件可以像VB开发的那样做安装程序吗?安装程序复杂吗?
所需的字段信息;或者用一个远程调用来写所有实体内相关的表。
复合实体的作用:
1提高对象粒度,有助于减少远程调用
2把实体间关系组合进复合实体, (其利弊视情况而定)
3减少对象模型对数据库模型的依赖。复合实体通常和value object一起使用,千万别在单值set和单值get了。:)
“其实关键的就是O-R Mapping了,看你怎么设计你的Entiry Bean,然后是将你的EntiryBean做序列化操作,O-R Mapping对于不同的情况也有不同的映射方法,具体问题具体分析,而不是简单的直接一对一映射。”同意。ejb设计应该是灵活的而不是僵死的。 可以建立一个local的序列化的value object在客户端和远程之间装载、传输结果集合。
影射为三个ENTITY BEAN的话,<sql> </sql>中应怎么实现?
谢谢你的回答,我想问一下那里有讲复合entity的资料?
复合entity,不知CMP可不可以影射到多个表?希望高手赐教。
在jbuilder下,当你选了多张表后,你可以点击[add link]去建立表之间的关系。
re:tony_2008(偶学习,偶进步。)
我是在一本《J2EE核心模式》里面看到的。不过此书已经比较旧了,可能在2.0下有新的模式,比原来的更好。可以参考参考。 :)最近项目太忙,都没有时间跟进了。
theserverside.com里边有更详细的讨论
你能说具体点吗?用CMP怎样实现?那么我的WEBLOGIC-EJB-JAR文件应怎么写(如果是用WEBLOGIC作容器)?能不能举个例子?
实体bean应该用于那些访问并发量比较大的表,其他的操作应该在session bean中通过jdbc来完成这样的效率比用实体bean好