在做CMP之间的RelationShip时发现的一个问题:
比如有一个学生表,一个学生电话表。一个学生可以有多个电话,是one-many关系。
在客户端程序中,查找到一个学生之后,以为可以直接通过CMR field得到其电话列表,但程序出错,提示“由CMP容器管理的CMR不能直接被客户端调用”。
看来这是EJB的规范规定的原则。
因此如果需要读取CMR,要CLONE一个,把CLONE的COLLECTION/SET返回。
但想修改(写)这个CMR就是不可能的了。
客户端程序无法直接调用CMP之间one-many关系的cmrfield的问题
博客讲述了在处理CMP之间的RelationShip时遇到的问题。以学生表和学生电话表的one - many关系为例,客户端程序无法直接通过CMR field获取电话列表,因EJB规范规定CMP容器管理的CMR不能直接被客户端调用。读取需克隆返回,而修改则不可行。

被折叠的 条评论
为什么被折叠?



