出现异常When a cmp-field and a cmr-field (relationship) are mapped to the same column, the setXXX method for the cmp-field may n

Morgan_ma 2003-08-12 04:09:25
jbuilder+weblogic开发。两个表
一张用户信息表,主键userid,另外一张权限表,主键authid。其中用户信息表中的authtype是authid的外键。
权限表和用户信息表是1-多的关系,cmr为authtype,但是现在调用用户信息表的cmp的create方法,出现异常When a cmp-field and a cmr-field (relationship) are mapped to the same column, the setXXX method for the cmp-field may not be called. The cmp-field is read-only.
查了许多资料,在EJB规范说:
during ejbCreate the instance cannot acquire a reference to the associated
entity object, and that reference is required by the set method.
In the ejbPostCreate method, on the other hand, the instance may reference
the associated entity object. Thus, a call to set can be made.

但是不知道该具体怎么做。。。请大家帮忙。。。
...全文
105 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Morgan_ma 2003-08-13
  • 打赏
  • 举报
回复
自己解决啦。。。结帖!
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
不行啊。。。还是同样的异常错误。。。
friday1103 2003-08-12
  • 打赏
  • 举报
回复
那你把setAuth(authType);这一步放在用户实体的ejbcreate()中,这样看行不行?
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
刚刚。。。你没看懂我的问题。。。
hessian 2003-08-12
  • 打赏
  • 举报
回复
马兄,先把所有可能的权限实体都建好.让后再创建用户信息的实体嘛.
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
我想了一下,很显然这里有个错误。。。因为在上面这种做法里,新建用户分两步,第一步,创建用户信息如id等等。而第二步分配权限authType。但是因为这是一条记录,我的authType不能为空。所以第一步就不行。。。因为数据库无法将空值放入authType中。。。所以失败了。。。

还有没有其他的解决方法?
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
我懂你的意思了,我先试试看。。。
friday1103 2003-08-12
  • 打赏
  • 举报
回复
那么你建立auth实体Bean和用户Bean的关系,为双边的,为一对多的,然后会有个cmr字段为auth。这个auth设为一个bean instance。这样就可以建立对这个auth实体bean的set和get方法。
要实现把这个权限加给这个用户bean,你可以建立一个session bean,在这个session bean中,加人一个方法,比如:addUser(),参数可以是用户的信息(比如id,name,等等)和authType,
然后
User user = userHome.create(id, name,。。。);
auth authType = authHome.findByPrimaryKey(authType);
user.setAuth(authType);
就可以加入了。

写了这么多,不知道说清楚了没有。见笑了。
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
权限表和用户信息表是1-多的关系。。。一种权限可以给多个用户,每个用户只有一种权限。。。
friday1103 2003-08-12
  • 打赏
  • 举报
回复
权限和用户这两个实体bean是什么关系?多对多?一对多?
Morgan_ma 2003-08-12
  • 打赏
  • 举报
回复
这个我已经清楚了。。。如你所说,我的权限表也是个实体bean,那么当我新建一个用户的时候,怎么把这个用户相应的权限写到authtype呢?就是说setauthtype()在怎么在权限表的实体bean中调用?
friday1103 2003-08-12
  • 打赏
  • 举报
回复
因为authtype是authid的外键,所以在用户表中是不能改变这个值的(只能读),这个值是在权限表中确定的。如果你的权限表也是一个实体Bean,那么这个值就是在ejbcreate()中确定的。
内容概要:本文系统阐述了基于多维核密度估计的源荷(光伏、负荷)场景生成方法,并配套提供完整的Matlab代码实现。该方法通过构建高维概率密度函数,精确捕捉光伏出力与电力负荷之间的复杂相关性与时序不确定性,生成具有高保真统计特性的多维随机场景,广泛应用于新型电力系统中的不确定性建模。所提出的技术可为微电网、综合能源系统、虚拟电厂等提供高质量的输入场景,支撑优化调度、风险评估、储能配置及承载力分析等关键研究任务。文中强调科研应兼具严谨逻辑与创新思维,倡导“借力”与系统性学习,同时提供了丰富的学习资源获取途径。; 适合人群:具备电力系统、可再生能源或数据统计分析等相关背景,熟悉Matlab编程语言,正在从事新能源建模、电力系统规划或不确定性分析等方向的科研人员与研究生。; 使用场景及目标:①实现光伏与负荷等多重不确定性源的联合概率建模与场景生成;②为含高比例新能源的电力系统优化运行与规划提供精细化输入;③支撑风险敏感决策、鲁棒优化及分布鲁棒优化等高级分析场景的需求; 阅读建议:建议读者结合提供的网盘资源与公众号内容,按照知识体系循序渐进地学习,重点掌握多维核密度估计的核心算法流程与代码实现细节,并使用实际历史数据进行调试与验证,以深入理解其在复杂能源系统建模中的应用价值与优势。

67,535

社区成员

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

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