jfinal多数源访问出问题

bing_chuan 发布于 2014/08/26 20:50
阅读 170
收藏 0

就现在有个2数据源,第一个是好的

使用DB.use("a").find("select * from xxx");

第二个使用就出错了,抛找不到表,因为第二个使用的是其它用户下的表,只有查询权限。这个要怎么解决?当前用户是没有这张表的,指定的用户查询是有的。

DB.use("b").find("select * from user.xxx");

数据库使用的是oracle.在oracle数据库查询工具里使用select * from user.xxx能查出数据,在jfinal就出错。版本使用的是jfinal 1.8,


而且我还想问如果是指定用户访问的表,在jfinal下面能orm映射?



加载中
0
JFinal
JFinal
     设置好适当的用户权限即可打完收工
b
bing_chuan
回复 @JFinal : 权限是有的,只是jfinal识别用户名.表名这样的查询方式?
JFinal
JFinal
回复 @bingsdd : 适当权限,举个例子,当用户 u 想要表 t 的查询询权限,那么就用给用户 u 授予表 t 的查询权限
b
bing_chuan
而且user.table这种形式在映射里直接启动就报错。找不到表。 arp.addMapping("a.user", User.class);
b
bing_chuan
你说的适当用户权限指的是什么? 比如说a用户里有user表。 现在我的数据源是用b的用户,但没a用户的b表。现在管理员给我设置了b用户可以访问a用户的user表。用数据库查询工具是可以查询a用户的表数据。但在jfinal里面就出错了。是不是框架问题?
0
Dreampie
Dreampie
http://www.oschina.net/p/jfinal-dreampie  推荐你用这个  多数据源映射   
AutoMultiSourceTableBindPlugin tableBindDefault = new AutoMultiSourceTableBindPlugin(druidDefault, SimpleNameStyles.LOWER);
//让default数据源排除shop目录下的model,因为该目录的model属于custom数据源
tableBindDefault.addExcludePaths("cn.dreampie.function.shop");
 
 AutoMultiSourceTableBindPlugin tableBindCustom = new AutoMultiSourceTableBindPlugin(druidCustom, SimpleNameStyles.LOWER);
//让custom只扫描shop目录,注意当使用includepaths是只会扫描配置的路径,如果没有使用includepaths会扫描全路径
tableBindCustom.addIncludePaths("cn.dreampie.function.shop");



返回顶部
顶部