JiveJdon Community Forums
在线439人   首页   主题表   培训咨询   标签   查搜   注册    登陆 RSS
首页 » 论坛 » 语言平台技术讨论
???en_US.forumThreadPrev.name??? 上一主题
RSS google yahoo 365Key网摘 CSDN网摘 添加到百度搜藏 POCO网摘 新浪ViVi QQ网摘
???en_US.forumThreadNext.name??? 下一主题
Go 共有 1 回复(1页) 阅读106次
 发表新帖子   回复该主题贴
cswxzx



发表文章:
注册时间: 2007年05月11日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言
求助JBOSS下CMP中CMR错误 2007年09月12日 19:17 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
标签
Book与Author一对一在修改Book时出现错误。

javax.ejb.EJBException: Data contains multiple values, but this cmr field is single valued: [45, 47, 48]

BookBean的代码:


/**
* @ejb.interface-method
* @ejb.relation name="BookAndAuthorRelation" role-name="BookInAuthor"
* target-role-name="AuthorHasBooks" target-ejb="Author"
* @jboss.relation fk-column = "AUTHORID_FK" related-pk-field = "authorId"
* @return
*/

public abstract AuthorLocal getAuthor();

/**
* @ejb.interface-method
* @param author
*/

public abstract void setAuthor(AuthorLocal author);

ejb-jar.xml


<ejb-relation >
<ejb-relation-name>BookAndAuthorRelation</ejb-relation-name>

<ejb-relationship-role >
<ejb-relationship-role-name>BookInAuthor</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source >
<ejb-name>Book</ejb-name>
</relationship-role-source>
<cmr-field >
<cmr-field-name>author</cmr-field-name>
</cmr-field>
</ejb-relationship-role>

<ejb-relationship-role >
<ejb-relationship-role-name>AuthorHasBooks</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source >
<ejb-name>Author</ejb-name>
</relationship-role-source>
</ejb-relationship-role>

</ejb-relation>

jbosscmp-jdbc.xml


<ejb-relation>
<ejb-relation-name>BookAndAuthorRelation</ejb-relation-name>

<ejb-relationship-role>
<ejb-relationship-role-name>BookInAuthor</ejb-relationship-role-name>
<key-fields/>

</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>AuthorHasBooks</ejb-relationship-role-name>
<key-fields>
<key-field>
<field-name>authorId</field-name>
<column-name>AUTHORID_FK</column-name>
</key-field>
</key-fields>

</ejb-relationship-role>
</ejb-relation>

修改Book的代码:


public boolean editBook(BookData book) {
try {
BookLocalHome home = BookUtil.getLocalHome();
if (home != null) {
BookLocal bookLocal = home.findByPrimaryKey(book.getBookId());
if (bookLocal != null) {
bookLocal.setBookName(book.getBookName());
bookLocal.setPrice(book.getPrice());
bookLocal.setQuantity(book.getQuantity());
AuthorLocalHome authorHome = AuthorUtil.getLocalHome();
AuthorLocal authorLocal = authorHome.findByPrimaryKey(book.getAuthor().getAuthorId());
bookLocal.setAuthor(authorLocal);
BookTypeLocalHome bookTypeHome = BookTypeUtil.getLocalHome();
BookTypeLocal bookTypeLocal = bookTypeHome.findByPrimaryKey(book.getType().getTypeId());
bookLocal.setType(bookTypeLocal);
return true;
}
}
} catch (NamingException e) {
e.printStackTrace();
} catch (FinderException e) {
e.printStackTrace();
}
return false;
}
banq



发表文章: 11308
注册时间: 2002年08月03日
悄悄话
个人博客
在线? 当前离线
我要关注该作者发言 72人关注
回复:求助JBOSS下CMP中CMR错误 2007年09月15日 18:04 收藏关注本主题 到本帖网址 加入本帖到收藏夹 请用鼠标选择需要回复的文字再点按本回复键 回复该主题
大概意思是你设定是一对一关系,但是好像实际不是这样,可能一本书有多个作者,不是一对一关系。
标签
共有 1 回复(1页) Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
正在读取,请等待...
查询本论坛内 回复超过的热门帖子
标题
 
粗体: [b]文本[/b] 斜体: [i]文本[/i] 下划线 [u]文本[/u] 插入网上的图片 [img]http://wwww.xxxx.com/img.ext[/img] 插入代码 [code]程序代码[/code]  插入url链接 [url]http://url[/url] / [url=http://url]URL加下滑线[/url] 上传图片 word文档 Txt等附件
内容
  提交时自动拷贝以上内容到剪贴板 Ctrl+V可取出;提问题前先查询标签列表

使用帮助 手机m.jdon.com RSS add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的软件架构社区 推荐FireFox或Chrome快速浏览本站
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-10 jdon.com

anti spam