|
本帖最后由 ccraise 于 2022-12-7 18:39 编辑
JPQL的数据操纵能力实在有限,稍微复杂一点的查询就无法支持
而且在o2oa系统中的这种用法,限制更多
但是又不想去费力搞开发
那么为了把复杂的查询统计结果给展示出来,怎么办呢?
经测,在当前版本(7.2.7)中,可以通过在数据库中使用使用“视图”来突破限制
我这里是使用Mariadb(同MySQL)做的尝试
尝试步骤如下:
1、创建自建表,编译,重启o2server
2、在数据库里找到自建表(名称形如:QRY_DYN_<自定义的表名>),记下名字,然后把自建的那个表删除或改名(建议改名)
3、在数据库里面新建一个和自建表同名的视图,在这个视图里面写复杂SQL语句,注意视图输出的字段要和前端自建表的字段名相匹配(在数据库里面,o2oa的自建表字段名会在前面多加一个“x”)
4、在o2oa数据中心新建查询。由于我在测试中在数据库直接删除了自建表,因此缺少很多字段,只能以读取局部值的方式使用JPQL来进行查询
这种方式之所以能成功,是因为在数据库里面,select语句查询表和查询视图是没有区别的,因此才能用视图来欺骗o2server,
然后就可以在数据库里面,愉快的写SQL了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|