关于在一个实体bean中引用另一个实体bean的一点困惑?解决后立即给分(150分) 两个实体bean之间相互引用是不好的做法最好的做法是把一个实体bean对应成a b两表的一个视图,也就是说, a b两表关联后对应实体bean. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用实体bean是为了简化数据库操作,但你的做法是背道而驰的呀 使用实体bean是为了简化数据库操作,但你的做法是背道而驰的呀 有专门维护实体BEAN关系的表格存在,只是在以前要维持关系的话,是由我们自己做的。现在,由EJB容器来帮我们完成这些工作。不过1:1的关系也不需要另外的表,比如雇员和雇员地址是1:1的关系,那么我们只需要对容器在部署时指定这样的关联。容器在生成表格的时候,会自动在雇员对应的表格后面添加一个字段addresskey,它记录了雇员地址(addressejb)的主键。如果是1:N的关系,是在N一方存储这样的外键,如果是N:N,就需要单独的关系表格来维持了,同样这些工作都是容器自动完成的 使用实体bean是为了简化数据库操作,但你的做法是背道而驰的呀 有专门维护实体BEAN关系的表格存在,只是在以前要维持关系的话,是由我们自己做的。现在,由EJB容器来帮我们完成这些工作。不过1:1的关系也不需要另外的表,比如雇员和雇员地址是1:1的关系,那么我们只需要对容器在部署时指定这样的关联。容器在生成表格的时候,会自动在雇员对应的表格后面添加一个字段addresskey,它记录了雇员地址(addressejb)的主键。如果是1:N的关系,是在N一方存储这样的外键,如果是N:N,就需要单独的关系表格来维持了,同样这些工作都是容器自动完成的 to xioyoo(丁鹏) 首先谢谢你的回答!那如果先已有两个表,雇员和雇员地址;按你的意思是如果关系是1:1的,当我部署成功后,它会自动修改我的雇员表的结构并添加一个字段,是这个意思吗?如果是这样的话,那么该字段是什么类型的呀,直接打开该数据库可以看到该修改吗?还有对于1:n,和n:n的情况,你说是生成的单独的关系表格.那么该表格我在数据库中是否也能直接看到,它的命名是否有什么样的规律可寻?谢谢! 对,你可以自己试一下。比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。 对,你可以自己试一下。比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。 对,你可以自己试一下。比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。 是Primary key吗?但我是一个关键字类呀(也就是由两个以上的字段组成的呀)?那它的类型会是什么呢?很感谢xioyoo(丁鹏) 回答,明天一早就结贴!谢谢你的回答! 你是说你的primary key是一个自己实现的CLASS对吗?抱歉,这种情况我还没有实际做过!但我几乎可以肯定得告诉你,在EJB规范中,自己实现的primary key class必须是RMI/IIOP中的合法类型(也就是可序列化的),因此,它的原理和序列化类在数据库中持久的原理是一样的! 同意woowindice(黑山老妖) 的作法,大家继续讨论。 如何在多个线程执行完后再执行某个方法 这段小程序为什么为抛出异常? swing GridBagLayout 布局问题 怎么检测DB连接状态? 问一个简单的问题关于刚开始学习~~ 我是新手,问大家几个问题,谢谢了!! 书籍选择问题,请指教!! 哪里有JAVA2的类库手册?(有中文的么?— 又一个关于session的问题? java用20个线程,对一个int进行操作,10个负责加,10个负责减。一次只加1或减1,进行100次。如何保证线程安全的同时,使运行效率比单线程要高呢? 求救java在linux下难题 private 的问题
首先谢谢你的回答!
那如果先已有两个表,雇员和雇员地址;按你的意思是如果关系是1:1的,当我部署成功后,它会自动修改我的雇员表的结构并添加一个字段,是这个意思吗?如果是这样的话,那么该字段是什么类型的呀,直接打开该数据库可以看到该修改吗?还有对于1:n,和n:n的情况,你说是生成的单独的关系表格.那么该表格我在数据库中是否也能直接看到,它的命名是否有什么样的规律可寻?谢谢!
比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为
EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!
1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。
比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为
EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!
1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。
比如用CMP来做雇员和雇员地址的1:1的例子的话,只要将AddressBean指定为
EmployeeBean的关系字段的话,那么容器在自动生成表的时候,会自动修改EmployeeBean的表结构,为它添加一个联系AddressBean的字段,例如叫:AddressKey.至于这个AddressKey的类型,当然是AddressBean的Primary key啦!
1:N,和N:N同理!而且这些表格在部署完成后,在数据库中是完全可见的。
那它的类型会是什么呢?
很感谢xioyoo(丁鹏) 回答,明天一早就结贴!谢谢你的回答!
抱歉,这种情况我还没有实际做过!
但我几乎可以肯定得告诉你,在EJB规范中,自己实现的primary key class必须是RMI/IIOP中的合法类型(也就是可序列化的),因此,它的原理和序列化类在
数据库中持久的原理是一样的!