springDataJpa 如何跨数据库查询、新增、删除数据

小伯恩 发布于 2019/11/25 09:30
阅读 2K+
收藏 0

问题描述:

  SpringDataJpa 如何做到和mybaits 一样跨数据库查询、新增、删除,

  示例:mybaits 

      select * from b.a / 也可以update / 也可以delete

      但MySQL连接的是a数据库,用户有授权访问b数据库

  SpringDataJpa 如何做?

  在此请教一下各位大神

      

加载中
0
b
beamofsoul

用动态数据源技术 在内存中维护多套数据源、RepositoryFactoryBean、EntityManager等等,然后需要用的时候可以根据业务标识进行切库(切数据源)

小伯恩
小伯恩
回复 @beamofsoul : 好的,我试试,谢谢
b
beamofsoul
回复 @小伯恩 : 比如一个正常hql:from A a, B b where a.property = b.property
b
beamofsoul
回复 @小伯恩 : 现在Entity里面用@Table注解的时候指定catalog属性,这个是数据库名。按照你的需求有两个Entity,分别属于不同的数据库,配置完@Table注解以后,hql就会把它们分别解析为:db1.t_a 和 db2.t_b。然后在@Query里面写hql的时候,nativeQuery属性默认值就是false不用管,然后正常些hql就好了
小伯恩
小伯恩
回复 @beamofsoul : 是跨数据库查询表的hq语句,谢谢老铁
小伯恩
小伯恩
回复 @beamofsoul : 大神,麻烦用@Query注解来个hq语句示例,感激不尽
下一页
0
_Mr_Right_
_Mr_Right_

SpringDataJpa  如果写sql的话, select * from b.a  这个语句也是可以执行的。

0
魔力猫
魔力猫

所谓的b.a是数据库自己的问题。数据库可以支持其它数据库和文件等外部资源,作为其内部表的方式提供访问。

0
cafelication
cafelication

那就配置多数据源即可解决

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部