小问题

Sundery 2003-08-07 10:18:49
通过JB中开发EJB,不是可以在数据库的表上右键,然后选择"Create CMP"的吗?
这样的话,是不是就是已经连接起来了?
不需要别的Connection在程序里面了?

然后通过finderPrimary中相应的EJB/QL就可以找到我要的数值?

我这么理解对不对?
...全文
12 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyiqing 2003-08-08
  • 打赏
  • 举报
回复
對,但你要在JB中打包才會產生那些文件!
zhouyiqing 2003-08-07
  • 打赏
  • 举报
回复
隻要在weblogic中配置數據源就可以了,那些xml文件JB會自動產生!
lwg2019 2003-08-07
  • 打赏
  • 举报
回复
不是都在Weblogic中配只的,在jb中的可
Sundery 2003-08-07
  • 打赏
  • 举报
回复
Weblogic的CMP描述符,我只要在weblogic的consol里面配置好就可以了,对吗?
lwg2019 2003-08-07
  • 打赏
  • 举报
回复
同志不是这么简单的??你说的“在数据库的表上右键,然后选择"Create CMP"的”是正确的。
在CMP中没有什么Connection程序,与数据库的连接完全在CMP的XML配置文件中,如果你要运行或测试这个CMP你还要有相应的服务器(Weblogic)等,在对于不同的服务器又有相应的描述符:
我给你一个关于Weblogic的CMP描述符,你看一看:
这是ejb-jar.xml文件
<entity>
<display-name>Product</display-name>
<ejb-name>Product</ejb-name>
<home>ThreeChater.ProductRemoteHome</home>
<remote>ThreeChater.ProductRemote</remote>
<ejb-class>ThreeChater.ProductBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>ProductBean</abstract-schema-name>
<cmp-field>
<field-name>productID</field-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
</cmp-field>
<cmp-field>
<field-name>description</field-name>
</cmp-field>
<cmp-field>
<field-name>basePrice</field-name>
</cmp-field>
<primkey-field>productID</primkey-field>
<resource-ref>
<description />
<res-ref-name>jdbc/SQLPool</res-ref-name>//这是说明的数据源
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</entity>
下面是与具体的服务器有关的描述文件:
这是weblogic-ejb-jar.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB//EN' 'http://www.bea.com/servers/wls700/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>StatelessDate</ejb-name>
<jndi-name>StatelessDate</jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>StatefullAccountBean</ejb-name>
<jndi-name>StatefullAccountBean</jndi-name>
</weblogic-enterprise-bean>
<weblogic-enterprise-bean>
<ejb-name>Product</ejb-name>
<entity-descriptor>
<persistence>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-use>
</persistence>
</entity-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/SQLPool</res-ref-name>//说明的数据源
<jndi-name>TxEJBSql</jndi-name> //说明的是在weblogic 中的数据源的名字
</resource-description>
</reference-descriptor>
<jndi-name>ProductRemote</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
这是weblogic-rdbms-jar.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-rdbms-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB RDBMS Persistence//EN' 'http://www.bea.com/servers/wls700/dtd/weblogic-rdbms20-persistence-700.dtd'>
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>Product</ejb-name>
<data-source-name>TxEJBSql</data-source-name>//说明的是在weblogic 中的数据源的名
<table-map>
<table-name>Product</table-name>//对应数据库中的表的名字
<field-map>
<cmp-field>productID</cmp-field>
<dbms-column>ProductID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>Name</dbms-column>
</field-map>
<field-map>
<cmp-field>description</cmp-field>
<dbms-column>Description</dbms-column>
</field-map>
<field-map>
<cmp-field>basePrice</cmp-field>
<dbms-column>BasePrice</dbms-column>
</field-map>
</table-map>
</weblogic-rdbms-bean>
</weblogic-rdbms-jar>

在CMP中,你是看不到实际的连接数据库的代码的,这些都由服务器来完成!!÷
歇息
xiaoyuzi 2003-08-07
  • 打赏
  • 举报
回复
要先配置好数据源,然后在jbosscmp-jdbc.xml里面设置一下,就好用了
多试试,一试就知道结果了
zez 2003-08-07
  • 打赏
  • 举报
回复
是的,不过那是cmp ejb.cmp里不需要任何和数据库有关的代码,这些都是容器的事...
但bmp里要自己写所有代码

------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
Sundery 2003-08-07
  • 打赏
  • 举报
回复
谢谢,就是说我的理解还是对的,对吗?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧