起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3843|回复: 8

[结贴] 从表的 SaveAction的执行后事件在主表删除时不执行?

[复制链接]

91

主题

339

帖子

894

积分

高级会员

Rank: 4

积分
894
QQ
发表于 2017-3-21 17:08:26 | 显示全部楼层 |阅读模式
有一个互逆的主从,我在从表的 SaveAction的执行后事件中写了代码,当我从表进行保存时代码能正常进行,但当我在主表删除后,从表的 SaveAction的执行后事件没有执行是怎么回事?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36092
发表于 2017-3-21 17:28:41 | 显示全部楼层
看看data上是不是设置了直接删除,把执行删除设置为false
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

339

帖子

894

积分

高级会员

Rank: 4

积分
894
QQ
 楼主| 发表于 2017-3-21 18:00:13 | 显示全部楼层
jishuang 发表于 2017-3-21 17:28
看看data上是不是设置了直接删除,把执行删除设置为false

主从DATA同时设置为直接删除,或单主设置为直接删除 或单从设置为直接删除都会报以下错误
保存数据失败! ,
更新记录AZ_UnitliveDetial, AZ_UnitliveDetial, key="54CFBC19932745FAB4866E4E3AC8256B"出错, 不存在符合条件的数据, UPDATE AZ_UnitliveDetial AZ_UnitliveDetial SET AZ_UnitliveDetial.fSum = :fSum_new, AZ_UnitliveDetial.version = :version + 1 WHERE AZ_UnitliveDetial= :AZ_UnitliveDetial_old AND AZ_UnitliveDetial.version = :version_old
编码:JUSTEP150186
原因:JUSTEP150186
隐藏详细
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.justep.system.action.Engine.invokeActions(Native Method)
at com.justep.system.action.Engine.invokeActions(Unknown Source)
at com.justep.business.server.BusinessServer.doAction(Unknown Source)
at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServer.excute(Unknown Source)
at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150186; 提示: 更新记录AZ_UnitliveDetial, AZ_UnitliveDetial, key="54CFBC19932745FAB4866E4E3AC8256B"出错, 不存在符合条件的数据, UPDATE AZ_UnitliveDetial AZ_UnitliveDetial SET AZ_UnitliveDetial.fSum = :fSum_new, AZ_UnitliveDetial.version = :version + 1 WHERE AZ_UnitliveDetial= :AZ_UnitliveDetial_old AND AZ_UnitliveDetial.version = :version_old; 可能的原因: 数据被其他用户修改了; 数据被其他用户删除了
at com.justep.exception.BusinessException.create(Unknown Source)
at com.justep.system.data.impl.TableImpl.edit(Unknown Source)
at com.justep.system.data.impl.TableImpl.save(Unknown Source)
at com.justep.system.data.impl.TableImpl.save(Unknown Source)
at com.justep.system.data.BizData.save(Unknown Source)
at BizProcedure.save(BizProcedure.java:18)
... 26 more
关闭
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36092
发表于 2017-3-22 10:26:43 | 显示全部楼层
直接删除就直接操作数据库了,没有直接删除的data保存的时候才删除,肯定数据找不到了

要设置就都设置,要么就都不设置
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

339

帖子

894

积分

高级会员

Rank: 4

积分
894
QQ
 楼主| 发表于 2017-3-22 17:50:24 | 显示全部楼层
jishuang 发表于 2017-3-22 10:26
直接删除就直接操作数据库了,没有直接删除的data保存的时候才删除,肯定数据找不到了

要设置就都设置,要 ...

我用的BEX536.在有主从级联删除时,不管主从表的directDelete同设为false或true主表删除时都不执行从的 SaveAction的执行后事件
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36092
发表于 2017-3-23 09:14:49 | 显示全部楼层
删除后执行data的保存了吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

339

帖子

894

积分

高级会员

Rank: 4

积分
894
QQ
 楼主| 发表于 2017-3-23 15:47:31 | 显示全部楼层
jishuang 发表于 2017-3-23 09:14
删除后执行data的保存了吗?

保存了,点完删除后点保存,不执行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36092
发表于 2017-3-23 16:28:52 | 显示全部楼层
如果要获取删除的从的数据只能在主的删除前事件中获取到这条主记录对应的从数据做记录,然后在保存事件中操作
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

91

主题

339

帖子

894

积分

高级会员

Rank: 4

积分
894
QQ
 楼主| 发表于 2017-3-23 17:08:11 | 显示全部楼层
jishuang 发表于 2017-3-23 16:28
如果要获取删除的从的数据只能在主的删除前事件中获取到这条主记录对应的从数据做记录,然后在保存事件中操 ...

好吧,我试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-1-19 02:29 , Processed in 0.054068 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表