实体EJB的数据库设置
2005-04-22 22:02
274 查看
如果bmp的话,程序里用DataSource的jndi逻辑名,在ejb-jar.xml里配 jndi物理名。
如果cmp,找container的帮助。
EJB中如何设置Datasourse ?
一
实体bean,不管是BMP还是CMP都可以使用本地的JNDI来连接,
以JB和weblogic为例。
具体如下:
1 配置容器的DataSource,weblogic里面需要添加pool和TXDataSource
与数据库的连接以及驱动在pool中配置。
2 在CMP实体bean中通过配置data-source-name为对应的JNDI名(一般是系统生成的)
3 对于BMP的bean,在一个jar中需要有一个bean定义JNDI名的本地引用,来与容器的对应
bean的Resource References中添加相应的内容即可。
我是这样配置的:本地Name为jdbc/dsProvider (这个说法很容易混淆,weblogic中的物理JNDI名是在weblogic-ejb-jar.xml中设置的,而你的例子中“java://comp/jdbc/dsProvider之类的是逻辑名,需要映射为物理名这些都是由ejb-jar.xml和weblogic-ejb-jar.xml两个部署描述符指定的,而Entity Bean的RDBMS的映射则在weblogic-cmp-rdbms-jar.xml中指明)
Type为javax.sql.DataSource
采用容器管理
Deployment Settings for jdbc/dsProvider为weblogic的datasource
的JNDI名。
在程序中通过查找对应的本地的JNDI
dsProvider = (DataSource) context.lookup("java:comp/env/jdbc/dsProvider");
便可以获得weblogic中对应的DataSource,conncection便可以
通过conn = dsProvider.getConnection();获得。
这样CMP和BMP的连接配置都只需在pool中维护即可。
我是这么配置的,不知道是否说的正确。
二
依据EntityBean的性质而定。
如果是BMP的话就需要编码实现与数据库的连接,并实现存储和加载数据。
这和一般通过jdbc操作数据没有太大区别。
如果是CMP,可以通过配置文件实现EntityBean中数据的存储和加载,程序员不用
去关心数据库的实现。就是需要在部署人员指定连接的数据库。然而现在的数据源设置
多和ejb container相关。并没有在规范中指定数据源。
所以如果你使用cmp就需要知道你使用的ejb container和数据库了。
如果cmp,找container的帮助。
EJB中如何设置Datasourse ?
一
实体bean,不管是BMP还是CMP都可以使用本地的JNDI来连接,
以JB和weblogic为例。
具体如下:
1 配置容器的DataSource,weblogic里面需要添加pool和TXDataSource
与数据库的连接以及驱动在pool中配置。
2 在CMP实体bean中通过配置data-source-name为对应的JNDI名(一般是系统生成的)
3 对于BMP的bean,在一个jar中需要有一个bean定义JNDI名的本地引用,来与容器的对应
bean的Resource References中添加相应的内容即可。
我是这样配置的:本地Name为jdbc/dsProvider (这个说法很容易混淆,weblogic中的物理JNDI名是在weblogic-ejb-jar.xml中设置的,而你的例子中“java://comp/jdbc/dsProvider之类的是逻辑名,需要映射为物理名这些都是由ejb-jar.xml和weblogic-ejb-jar.xml两个部署描述符指定的,而Entity Bean的RDBMS的映射则在weblogic-cmp-rdbms-jar.xml中指明)
Type为javax.sql.DataSource
采用容器管理
Deployment Settings for jdbc/dsProvider为weblogic的datasource
的JNDI名。
在程序中通过查找对应的本地的JNDI
dsProvider = (DataSource) context.lookup("java:comp/env/jdbc/dsProvider");
便可以获得weblogic中对应的DataSource,conncection便可以
通过conn = dsProvider.getConnection();获得。
这样CMP和BMP的连接配置都只需在pool中维护即可。
我是这么配置的,不知道是否说的正确。
二
依据EntityBean的性质而定。
如果是BMP的话就需要编码实现与数据库的连接,并实现存储和加载数据。
这和一般通过jdbc操作数据没有太大区别。
如果是CMP,可以通过配置文件实现EntityBean中数据的存储和加载,程序员不用
去关心数据库的实现。就是需要在部署人员指定连接的数据库。然而现在的数据源设置
多和ejb container相关。并没有在规范中指定数据源。
所以如果你使用cmp就需要知道你使用的ejb container和数据库了。
相关文章推荐
- NBear - 使用Entity Configurator设置实体元数据、生成数据库创建脚本
- NBear - 使用Entity Configurator设置实体元数据、生成数据库创建脚本
- EJB实体Bean怎样和数据库中表关联?
- EJB实体Bean如何和数据库中表关联?
- EJB 配置jboss 数据源 及 对数据库映射的实体Bean
- ejb3的实体bean管理类EntityManager常用API
- drupal7 通过数据库设置默认主题
- 关于C#数据库删除数据时提示未将对象引用设置到对象的实例
- Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题
- SQL SERVER 设置自动备份和删除旧的数据库文件
- 第七章 业务数据库的管理(十二)-- 设置业务数据共享
- Grails--数据库的设置
- Linux环境下设置mysql支持远程连接数据库(转载)
- mvc EF 从数据库更新实体,添加视图实体时添加不上的问题
- 数据库 Oracle设置口令到达终止时间后的宽限天数
- birt 的library进行公用数据库连接设置
- 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置
- 在创建外键约束的时候, 设置级联删除为SET NULL执行sql语句的时候显示有错误,(数据库为sqlserver2000)?
- 数据库只读的设置和取消
- 因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 。。。