保存多值字段SQL执行报错

定义多值类型时,字段类型应该设置为List类型。

    @Field.String
    @Field(displayName ="经费证明", multi = true, serialize = Field.serialize.JSON)
    private List<String> matchFund;

场景复现
保存多值字段SQL执行报错

Oinone社区 作者:yexiu原创文章,如若转载,请注明出处:https://doc.oinone.top/wen-ti-zhen-duan/16738.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
yexiu的头像yexiu数式员工
上一篇 2024年8月30日 am11:27
下一篇 2024年9月2日 am11:58

相关推荐

  • 函数如何跳过权限拦截

    跳过登录直接调用接口 示例: 跳过queryTea的权限验证 @Action(displayName = "queryTea", bindingType = ViewTypeEnum.FORM) @Action.Advanced(type = FunctionTypeEnum.UPDATE) public Teacher queryTea(Teacher data) { } 在yaml文件里面配置上该函数的namespace(模型编码)以及函数名字 pamirs: auth: fun-filter: – namespace: user.PamirsUserTransient fun: login #登录 – namespace: top.Teacher fun: queryTea 不跳过登录直接调用接口 示例: 在yaml文件里面配置上该函数的namespace(模型编码)以及函数名字 pamirs: auth: fun-filter-only-login: #登录后不再校验该函数的权限 – namespace: top.Teacher fun: queryTea 按包设置权限过滤 如何批量跳过权限验证?以上两种方式提供了在yml文件里面配置权限过滤的方式,但如果需要大量过滤权限,配置就变得很繁琐,所以下面主要介绍通过代码扩展的方式去控制权限。 示例: 以下示例通过控制包路径来跳过权限。 继承pro.shushi.pamirs.auth.api.spi.AuthFilterService接口 @Order(88) @Component public class CustomAuthFilterService implements AuthFilterService { public static final String skipClass = "pro.shushi.pamirs.top.core.action"; @Override public Boolean isAccessAction(String model, String name) { //从缓存中取函数 Action cacheAction = PamirsSession.getContext().getExtendCache(ActionCacheApi.class).get(model, name); if (cacheAction instanceof ServerAction) { ServerAction serverAction = (ServerAction) cacheAction; Function function = PamirsSession.getContext().getFunction(serverAction.getModel(), serverAction.getFun()); String clazz = function.getClazz(); //返回true就代表通过验证 if (clazz != null && clazz.startsWith(skipClass)) { return true; } } return null; } } 请求pro.shushi.pamirs.top.core.action路径下的动作可以通过验证。

    2024年8月22日
    82000
  • 序列化工具使用问题

    后端使用的JSON序列化JsonUtils.toJSONString(nodes);前端使用的JSON序列化PamirsJsonUtils.toJSONString(nodes, SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.BrowserCompatible);注意:用什么工具序列化,就用什么工具反序列化、parse 的时候,要保持一致, 使用PamirsJsonUtils序列化工具主要是为了解决枚举取值错误的问题以及id精度丢失问题。当出现这两个问题的时候,需要使用PamirsJsonUtils 进行序列化。

    2024年9月5日
    85500
  • 树表查不到二级目录

    场景:树表结构查不到二级模型内容,联动配置如下 问题:界面只显示部门,不显示岗位。 已知: 自定义部门代理模型继承了PamirsDepartment @Model.model(DepartmentDoc.MODEL_MODEL) @Model.Advanced(type = ModelTypeEnum.PROXY) @Model(displayName = “部门资料代理模型”, summary = “部门资料代理模型”) public class DepartmentDoc extends PamirsDepartment { public static final String MODEL_MODEL = “top.DepartmentDoc”; @Field.many2one @Field(displayName = “上级部门”) private DepartmentDoc parent; @Field.one2many @Field(displayName = “岗位列表”) private List positionLists; } 自定义岗位代理模型继承了PamirsPosition @Model.model(PositionDoc.MODEL_MODEL) @Model(displayName = “岗位代理模型”, summary = “岗位代理模型”) @Model.Advanced(type = ModelTypeEnum.PROXY) public class PositionDoc extends PamirsPosition { public static final String MODEL_MODEL = “top.PositionDoc”; @Field.many2one @Field(displayName = “上级岗位”) private PositionDoc parent; } 首先查看控制台相应请求 找到请求接口进后端debug,pro.shushi.pamirs.boot.web.action.UiTreeAction#fetchChildren 检查这两个数据是否正常 继续debug可知,在queryWrapper中使用departmentCode没有查询出数据,这时候回看模型定义,发现岗位列表中没有定义关联字段,导致没有查出数据。pro.shushi.pamirs.boot.web.manager.tree.UiTreeRelationQueryManager#_fetchIsLeaf 解决:在模型配置中添加关系字段@Field.Relation(relationFields = {"code"}, referenceFields = {"departmentCode"}),并和父类中的关系字段保持一致 部门代理模型: @Model.model(DepartmentDoc.MODEL_MODEL) @Model.Advanced(type = ModelTypeEnum.PROXY) @Model(displayName = "部门资料代理模型", summary = "部门资料代理模型") public class DepartmentDoc extends PamirsDepartment { public static final String MODEL_MODEL = "top.DepartmentDoc"; @Field.many2one @Field.Relation(relationFields = {"parentCode"}, referenceFields = {"code"}) @Field(displayName = "上级部门") private DepartmentDoc parent; @Field.one2many @Field.Relation(relationFields = {"code"}, referenceFields = {"departmentCode"}) @Field(displayName = "岗位列表") private List<PositionDoc> positionLists; } 岗位代理模型 @Model.model(PositionDoc.MODEL_MODEL) @Model(displayName = "岗位代理模型", summary = "岗位代理模型") @Model.Advanced(type = ModelTypeEnum.PROXY) public class PositionDoc extends PamirsPosition { public static final String MODEL_MODEL = "top.PositionDoc"; @Field.many2one @Field.Relation(relationFields = {"departmentCode"}, referenceFields = {"code"}) @Field(displayName = "上级岗位") private PositionDoc parent; }

    2024年7月23日
    50800
  • 跳转动作无权限问题排查

    版本: 5.0.X以上 现象 配置了一个跳转动作,并配置了加载函数。点击跳转到另一个页面,发现弹出“无权限进行该操作”错误。 原因 权限那边配置动作权限也都给了权限,但是为什么会出现这种情况呢?大概率是因为没有配置加载函数的权限,导致报错。 排查路径 5.0.X 以上版本权限控制是通过请求载荷里面的variables参数携带的path路径进行鉴权的。这个path路径是通过菜单名字一层一层拼接的。这个报错的根本原因就是因为这个无权限的请求的path路径下,没有这个加载函数的权限。所以要解决问题很简单,只需要在这个路径下配置上这个加载函数的权限就可以了。 ① 跳转页面是弹窗打开或抽屉打开:这种情况新打开的页面的path路径是不会变的,所使用的还是外面表格页面的路径,所以只需要把该加载函数配置到外面表格页面并隐藏掉,然后在权限那边配置上该动作权限问题就解决了。 ② 跳转页面是新窗口打开,这个时候新打开的页面的path路径是会变成新窗口所在的路径,所以只需要把该加载函数配置到跳转页面上,并隐藏掉,然后在权限那边配置上该动作权限问题也可以解决。 ③ 如果这个加载函数不需要有页面交互,或者页面和函数不属于同一个模型,则可以直接把这个函数改为Function绕过权限验证就好。

    2024年10月29日
    2.1K00
  • 同步导出时路由新页面问题

    情景复现:界面设计器配置了同步导出,在页面上点击导出之后跳转到首页而没有正常下载文件排查路径: 点击导出之后,查看跳转的页面路径发现,跳转到了127.****/Hfyk/pamirs/page,可知,跳转路径不对,怀疑是Nginx路由配置问题,排查Nginx配置 发现没有配置下载路由,在Nginx中配置下载路由

    2024年7月24日
    75900

Leave a Reply

登录后才能评论