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

QQ登录

只需一步,快速开始

查看: 1683|回复: 7

[结贴] 更换数据库后,角色管理页面报错。找不到对应的关系映射

[复制链接]

3

主题

23

帖子

102

积分

初级会员

Rank: 2

积分
102
发表于 2013-5-7 10:21:12 | 显示全部楼层 |阅读模式
本帖最后由 fairytail 于 2013-5-7 10:26 编辑

我把数据库换到sqlserver.执行了init文件夹里面的初始化脚本。登录系统后,打开角色管理的页面就报如下错误:

Caused by: com.justep.model.exception.ModelException: 执行ksql:select SA_OPParentRole.sParentRoleID, parent.sName as parentRoleName         from SA_OPParentRole SA_OPParentRole join SA_OPRole parent on parent = SA_OPParentRole.sParentRoleID         where ((SA_OPParentRole.sRoleID='RL-SYSTEM-GRADE'))  and parent.sValidState = 1         group by SA_OPParentRole.sParentRoleID, parent.sName 时出错!
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.KSQL.select(Unknown Source)
        at com.justep.system.opm.api.RoleHelper.a(Unknown Source)
        at com.justep.system.opm.api.RoleHelper.getRolesParents(Unknown Source)
        at com.justep.system.opm.api.RoleHelper.getRoleParents(Unknown Source)
        at RoleProcedure.queryOPPermissionByRole(RoleProcedure.java:83)
        ... 26 more
Caused by: com.justep.model.exception.ModelException: SA_OPParentRole.sRoleID找不到对应的关系映射!
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.confirmSymTable(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 34 more
我看了下opm中的SA_OPParentRole 实体定义。SA_OPParentRole 概念里确实没有sRoleID 关系的定义。

  <!-- 父角色 -->  
  <concept name="SA_OPParentRole" default-value-expr="guid()">
    <has-relation relation="version"/>  
    <label language="zh_CN">父角色</label>  
    <has-relation relation="sParentRoleID"/>
  <has-relation relation="fRoleId" data-type="SA_OPRole"></has-relation>
</concept>
但是在mapping文件里SA_OPParentRole  是这样定义的。
<table name="SA_OPParentRole" type="relation-table">                        <key field="sRoleID" type="String"/>
                        <item field="sParentRoleID" relation="sParentRole" type="String"/>
                </table>
请问,sRoleID 需要如何映射?遇到的这个问题要怎么解决?
tttttt.jpg

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2013-5-7 14:18:08 | 显示全部楼层
在biz层搜一下看看那个action中有SA_OPParentRole.sRoleID的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

23

帖子

102

积分

初级会员

Rank: 2

积分
102
 楼主| 发表于 2013-5-7 16:29:40 | 显示全部楼层
jishuang 发表于 2013-5-7 14:18
在biz层搜一下看看那个action中有SA_OPParentRole.sRoleID的

在角色管理的action配置里有用到。如下所示:
<model xmlns="http://www.justep.com/model">  
  <action name="queryOPRoleManagementAction" procedure="bizQueryProcedure">
    <public name="concept" type="String" value="SA_OPRoleManagement"/>  
    <private name="select" type="String" value="SA_OPRoleManagement.*,SA_OPRole.sName as roleName,SA_OPRole.sRoleKind as roleKind,SA_OPRole.sCatalog as roleCatalog,SA_OPRole.sParentRolesNames as roleParentRolesNames,SA_OPRole.sValidState as roleValidState"/>  
    <private name="from" type="String" value="SA_OPRoleManagement SA_OPRoleManagement  join SA_OPRole SA_OPRole on SA_OPRoleManagement.sRoleID = SA_OPRole"/>  
    <private name="aggregate" type="String"/>  
    <private name="dataModel" type="String" value="/system/data"/>  
    <private name="fnModel" type="String"/>  
    <protected name="condition" type="String" value="SA_OPRole.sValidState = 1"/>  
    <permission name="range" type="List"/>  
    <public name="distinct" type="Boolean" value="false"/>  
    <public name="idColumn" type="String" value="SA_OPRoleManagement"/>  
    <public name="filter" type="String"/>  
    <public name="limit" type="Integer"/>  
    <public name="offset" type="Integer"/>  
    <public name="columns" type="String"/>  
    <public name="orderBy" type="String" value="SA_OPRoleManagement.sOrgFName asc, SA_OPRole.sCatalog asc, SA_OPRole.sName asc"/>  
    <public name="aggregateColumns" type="String"/>  
    <public name="variables" type="Map"/>  
    <label language="zh_CN">查询角色管理权限</label>
  </action>  
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2013-5-7 17:04:11 | 显示全部楼层
模型检查一下/BIZ/system看看是否有错误
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

23

帖子

102

积分

初级会员

Rank: 2

积分
102
 楼主| 发表于 2013-5-7 17:26:44 | 显示全部楼层
jishuang 发表于 2013-5-7 17:04
模型检查一下/BIZ/system看看是否有错误

/BIZ/system 下面的概念我都重新生成了数据库表。没有报错啊。
回复 支持 反对

使用道具 举报

3

主题

23

帖子

102

积分

初级会员

Rank: 2

积分
102
 楼主| 发表于 2013-5-7 17:31:03 | 显示全部楼层
jishuang 发表于 2013-5-7 17:04
模型检查一下/BIZ/system看看是否有错误

模型检查没有错误。
开始检查......
正在检查: /system
正在检查: /system/ontology
正在检查: /system/logic
正在检查: /system/logic/fn
正在检查: /system/logic/code
正在检查: /system/logic/code/interceptor
正在检查: /system/logic/action
正在检查: /system/data
正在检查: /system/config
检查结束!
检查结果:0 个错误,0 个警告。
检查用时:2 秒。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2013-5-7 17:48:13 | 显示全部楼层
qq1392416607看一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

23

帖子

102

积分

初级会员

Rank: 2

积分
102
 楼主| 发表于 2013-5-8 10:16:40 | 显示全部楼层
问题已经解决。
问题原因:biz下的system资源和SA的资源有问题。(可能是我的资源有点老)
解决方案:更新最新的system和SA资源替换原先的资源,刷新下BIZ目录即可。
感谢jishuang的支持。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 11:02 , Processed in 0.065485 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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