cmp存数据库一问

try_okey 2005-04-11 03:45:07
看一个例子,数据库有表BnProject,对应字段有:InstanceNs、Parent、Name、Status、Creator、State、CreationDate、EndDate、BnProject_ID;对应CMP为BnProjectBean,但在程序里找不到有要插入最后一个字段BnProject_ID的代码,但操作完毕后BnProject_ID的值是有的,怎么回事?
相关的数据库操作代码如下:
public void setBnProjectValue( hero.interfaces.BnProjectValue valueHolder )
{

try
{
setInstanceNs( valueHolder.getInstanceNs() );
setParent( valueHolder.getParent() );
setName( valueHolder.getName() );
setStatus( valueHolder.getStatus() );
setType( valueHolder.getType() );
setCreator( valueHolder.getCreator() );
setState( valueHolder.getState() );
setCreationDate( valueHolder.getCreationDate() );
setEndDate( valueHolder.getEndDate() );
...
}
...
}


public BnProjectPK ejbCreate(String pName, String creator)
throws InvalidValueException, EJBException, CreateException {
log.debug("ejbCreate: pName=" + pName + " creator=" + creator);
BnProjectLocalHome projecthome;
BnProjectLocal project;

try {
projecthome = hero.interfaces.BnProjectUtil.getLocalHome();
} catch (javax.naming.NamingException be) {
throw new CreateException(be.getMessage());
}
try {
project = projecthome.findByName(pName);
throw new CreateException("BnProject " + pName + " already exist");
} catch (FinderException fe) {

try {
BServiceLocator serviceLocator = BServiceLocator.getInstance();
this.setId(BserviceLocator.generateUniqueId(BServiceLocator.PROJECT));

} catch (BServiceException e) {
throw new CreateException(e.getMessage());
}

// Each title must have a unique id to identify itself within the DB
//this.setId(generateUniqueId());

this.setName(pName);
this.setCreator(creator);
}

// This is only possible in CMPs. Otherwise return a valid PK.
return null;
}
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
try_okey 2005-04-11
  • 打赏
  • 举报
回复
另外,表里的字段如上所述为:ID、InstanceNs、Parent、Name、Status、Creator、State、CreationDate、EndDate、Type、BnProject_ID,但我在home接口BnProjectLocalHome里怎么还看到有public abstract void setModel( BnProjectLocal pmodel);方法,而且该方法在商务bean(BnProjectBean)里也就一个抽象方法,其派生类BnProjectCMP里没有再实现,但sessionbean里却有mProject.setModel(mProject);调用,怎么回事??
try_okey 2005-04-11
  • 打赏
  • 举报
回复
哦,漏写了,表字段里还有个ID字段,所以this.setId(BserviceLocator.generateUniqueId(BServiceLocator.PROJECT));应该对应的是ID这个字段,而不是BnProject_ID字段,这个字段不知是哪里插入值?
redex 2005-04-11
  • 打赏
  • 举报
回复
this.setId(BserviceLocator.generateUniqueId(BServiceLocator.PROJECT));

应该是这句吧.

67,513

社区成员

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

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