能否详细讲一下 ejbCreateAddress 和ejbPostCreateAddress 两个方法在entity bean中的作用。

cnboy 2002-03-13 11:27:14
能否详细讲一下 ejbCreateAddress 和ejbPostCreateAddress 两个方法在entity bean中的作用。


这两个方法在entitybean 中都有,一个是create 一个是postCreate .
container 先处理哪个 weblogic 中还有一个 .xml elements

<delay-database-insert-until>ejbPostCreate</delay-database-insert
-until>

它们是做什么的?
...全文
68 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cnboy 2002-03-13
hi, 没有人吗? 小弟在线等待。
回复
chalsy 2002-03-13
http://www-900.ibm.com/developerWorks/java/ejbIntro/index7.shtml
如下记录:
Create 方法

Home 定义了一个或多个 "create" 方法--在创建后,Bean 必需马上被写到数据库
EmployeeHome method
Employee create(int arg1, String arg2, String arg3)
throws CreateException, RemoteException

EmployeeBean method
public void ejbCreate(int argId, String first, String last)
throws CreateException, RemoteException {
id = argId;
setFirst(first);
setLast(last);
setManagerId(0);
setDepartmentId(0);
}



Post-Create

对每个 ejbCreate 方法必需有一个 ejbPostCreate--有相同的参数

容器将:
调用 ejbCreate(...) 方法, 它将返回所创建实体的一个主键
创建对应该主键的一个 EJB 对象引用
调用 ejbPostCreate(...) 方法通知实例来完全初始化它本身

public void ejbPostCreate(int argId, String first, String last)
throws CreateException, RemoteException {
}

回复
cnboy 2002-03-13








我的这个贴子如何提前呀。 给我提前一下好吗?
回复
cnboy 2002-03-13
写了个ejb .
customer bean and address bean .
client 程序 先创建一个customer 实例,
Integer primaryKey = new Integer(1);
CustomerRemote customer = home.create(primaryKey);
提供了一个setAddress 方法,
customer.setAddress(address);
然后,我反复执行这个client 程序。所写的地址完全的写入到了数据库中,这时我发现了一个 错误,customer 1 这个客户并没有写入到数据库中,并
也没有报告 customer 1 这个用户已经创建成的异常,
只有到server 重新启动的时候才报这个错误,
我想ejb 很快的就应写入到数据库中,还是有个时间,

我在weblogic-cmp-rdbms-jar.xml

在cusotmer bean 中加入了
<delay-database-insert-until>ejbPostCreate</delay-database-insert-until>
这个还不行, 这是为什么呀,
[
数据库中有两个数据表,customer table and address table,
customer table 中有一个外键 address_id 指到address table id .
]

我可不想一个客户有多条address 记录。
请大虾指教。
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-03-13 11:27
社区公告
暂无公告