返回列表 发帖
原帖由 gua_hu 于 2009-8-22 09:12 发表
Oracle中DBA权限的用户是可以访问所有用户表的...

   DataSource中配置的即为DBA权限用户.  该用户与别的用户表结构是相同的..

   利用这点..  在写SQL语句时切换用户只需修改Schema就可以.

     SELECT * FROM U ...


感觉,你好象没有认真看过,我上面附的原作者的代码,这个切换多数据源主要是在applicationContext.xml文件中,然后是在MultiDataSource来配置,但是,从你上面的说法中,好象把重点放在sql语句上的选择上,个人觉得你没有好好理会我上面帖上来的文章,建议你针对上面的文章,好好看上面附上的源代码文件
倚楼听风雨,笑看江湖路。。。

TOP

原帖由 gua_hu 于 2009-8-22 09:15 发表
还有像问下原帖出自哪里?  谢谢.


你可以网上搜吧。。一搜就可以搜到的,我具体记不清从哪里看的了
倚楼听风雨,笑看江湖路。。。

TOP

不好意识..   这几天天天刷着个页面等你回复..

   漏过了一个很严重的问题(翻页).  今天猛然看到已经第二页了..
  
  我可以保证一点我已经把上面文章模拟了一次.(除事务)

    由于我的项目不可能实现多个数据源.  

  添加一个用户为在用户表中添加一个用户,跟通常用户一样.只是多个字段名为Schema.

   用户可能很多.   配置数据源的话需要添加太多 (上文的动态配置已看).

    还是一点.Oracle的DBA权限用户是可以操作所用用户表的. 是不是利用这点.

   数据源配置一个. 即为DBA用户.  根据登录用户的Schema决定操作哪个.

TOP

原帖由 gua_hu 于 2009-8-24 08:30 发表
不好意识..   这几天天天刷着个页面等你回复..

   漏过了一个很严重的问题(翻页).  今天猛然看到已经第二页了..
  
  我可以保证一点我已经把上面文章模拟了一次.(除事务)

    由于我的项目不可能实现多个数据源.  ...


其实,你的这种情况,只有一个oracle数据库,配置一个数据源应该是可以了的。。如果,是按你的说法,就是DBA的用户,你也得要在spring的指定你要操作的pojo类(要操作的实际表),没有在spring的配置文件中指定相关映射的表,你在ssh环境下也不能操作所有的表啊。。另外,你配置好了DBA用户,当spring容器已经加载完毕后,你再来根据登录用户的scheme来控制某个用户只访问某些表,似乎不可能了,因为映射关系已经存在了,因为,你已经没法用scheme来控制登录用户只能访问某些表了,哦,这是我个人的看法,不一定对
另外,你有自己的想法了,最好就马上行动,自己写代码去测试,发现了问题,再来思考,和别人交流就会有效果了!
倚楼听风雨,笑看江湖路。。。

TOP

LS的可以考虑一下使用 Synonym 就可以了。
如果还涉及到不同数据库中的表时,可以先使用DB link再用Synonym来做
1

评分人数

  • heyitang

TOP

原帖由 Fetch 于 2009-8-24 20:04 发表
LS的可以考虑一下使用 Synonym 就可以了。
如果还涉及到不同数据库中的表时,可以先使用DB link再用Synonym来做


谢谢..  Synonym我以前也没用过. 刚看了下好像也不行.
Hibernate是通过XML映射来与数据库表关系的.pojo名即统一了.如果我理解错误请指出.
'写程序、 到尊重程序员专业能力的地方'.

TOP

我现在使用多个sessionFactory来切换Schema,但这样有N个Schema就需创建N个sessionFactory,在没次执行操作时切换.
这样暂时是可行的.只是使用时比较烦. 现在还有个问题就是需要动态创建sessionFactory,不然增加一个用户就要重启.

请问下这样是否可行?
'写程序、 到尊重程序员专业能力的地方'.

TOP

TOP

返回列表