AbstractRoutingDataSource + JPA 不会创建除 defaultTargetDataSource 之外的表

2024-01-01

我使用 JPA 注释(Hibernate 实现)来初始化我的数据库架构。我关注这篇文章动态数据源路由 http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/实现动态数据源路由类。

但是,我有两个数据库(映射2个数据源)。我将第一个数据源设置为defaultTargetDataSource。然后开始我的应用程序。当我的应用程序尝试访问第二个数据源时,它告诉我该表不存在。看来 AbstractRoutingDataSource 只为默认数据源创建表,但为其他数据源创建表。

有没有在所有数据库中创建架构的想法?

PS.我正在使用 AbstractRoutingDataSource 来实现我自己的数据库分片。


我猜你正在使用休眠配置:

spring:
  jpa:
    hibernate:
      ddl-auto: update

以反映对数据库模式的实体更改。只要我们使用配置为在启动时连接的单个数据源,这种方法就可以正常工作。

但是,如果您有多个数据源,则无法使用此功能。一般方法与AbstractRoutingDataSource就是在启动时没有数据源,但在运行时选择它。

如果您选择主数据源,那么它将仅应用于主数据源,因为 hibernates 在启动时应用此功能,但其余数据库将不会被迁移。

为了反映对所有数据库的更改,您可以使用数据库迁移工具,例如 Flyway 或 Liquibase。

Flyway 使用 SQL,并且非常容易配置和使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AbstractRoutingDataSource + JPA 不会创建除 defaultTargetDataSource 之外的表 的相关文章

  • 模拟框架对我有什么作用?

    我听说有些我无法交谈的人是 jmock 的忠实粉丝 我已经做了以测试为中心的开发多年 所以我浏览了网站并查看了一些文档 但仍然不知道它有什么好处 我对春天也有同样的问题 如果您已经了解它是什么 他们的文档会很好地解释它 所以我并不认为 jm
  • mvn dependency:analyze 结果不正确

    我一直在寻找一种工具 它能够向您显示未使用的依赖项 我很快就偶然发现了 Maven 命令mvn dependency analyze 这样做的问题是 它经常检测到 未使用的 依赖项 如果缺失 这些依赖项就会导致构建失败 这是优化项目的示例
  • JLabel.setText() 中的换行符

    使用 JLabel setText 时如何插入换行符 我尝试使用 Html 但似乎可以使其适用于 setText 仅适用于 jLabel 的初始声明 最初声明 jlabel 时的方法是 label new JLabel Hello Worl
  • 如何从 .t​​xt 文件读取数据并将数据放入对象的数组列表中?

    到目前为止 我所写的内容是基于我目前对基本数组的了解 但我只是不明白如何使用数组列表 或如何从文件中读取 到目前为止我所写的内容有效 任何有助于修复我的代码以从文件中读取并使用数组列表的链接或建议将不胜感激 谢谢 public class
  • 如何通过keytool命令删除已经导入的证书/别名?

    我正在尝试通过 keytool 命令删除已导入的证书 keytool delete noprompt alias initcert keystore keycloak jks 但低于异常 keytool 错误 java lang Excep
  • 在 Jenkins 内运行构建时,我收到“java/lang/OutOfMemoryError”

    2020 02 25 10 11 24 986 0000 id 79 信息hudson model AsyncPeriodicWork lambda doRun 0 开始maven repo cleanup 2020 02 25 10 11
  • orm和pdo的区别

    我对 ORM 和 PDO 之间的区别有点困惑 PDO是一种ORM吗 根据我的理解 ORM 基本上是一种数据映射 PDO 还提供了数据库数据的抽象 PDO 和 ORM 是两个完全不同的东西 PDO 是数据库访问抽象层的具体实现 它使您能够使用
  • 将 Spring Boot 应用程序部署到 Heroku 失败并显示“无效标志:--release -> [帮助 1]”

    当我尝试将代码部署到 Heroku 时 通过git push heroku master 我收到 Maven 错误 remote ERROR Failed to execute goal org apache maven plugins m
  • Java 创建 Thread 实例时会发生什么

    我有一个关于 Java 线程和操作系统线程的问题 我读了Java 线程与 Pthreads https stackoverflow com questions 5269535 java threads vs pthreads and Jav
  • 如何仅在数据库、模式和表尚不存在时自动创建它们

    我想创建一个简单的网络应用程序 允许远程客户端跟踪发布请求中的某些内容 将所有跟踪保存在轻量级数据库中 返回 get 请求的所有跟踪 关于数据库 我想 将其位置放在我的 web 应用程序的属性文件中 并将此位置用于 persistence
  • 如何用java对jpg进行像素化?

    我正在尝试使用 Java 6 对 JPEG 进行像素化 但运气不佳 它需要使用 Java 而不是像 Photoshop 这样的图像处理程序 并且它需要看起来像老派 像这样 有谁能够帮助我 使用java awt image javadoc h
  • 小米和oppo等中国ROM上的工作管理器,在电池优化时,将工作的计划延迟增加几个小时

    小米和 Oppo 等中国 ROM 上的工作管理器在进行电池优化时 会将计划的工作延迟增加几个小时 但是 我注意到一些应用程序即使在电池优化下也能够让计划的作业安静地完美运行 我注意到的一个区别是 它们每次运行作业时都会显示一条通知 那么这是
  • 用java解密AES加密文件

    我有一个使用 AES 使用 java 应用程序加密的文件 我还有一个加密的密钥文件 但我不明白如何使用密钥来解密文件 大多数教程和示例都会在一个地方创建临时随机密钥 加密文件和解密 所以 问题是如何指定解密时必须使用的密钥 EDIT 我发现
  • 如何将我的自定义相机应用程序设置为默认应用程序?

    如果我使用以下代码 Intent takePictureIntent new Intent MediaStore ACTION IMAGE CAPTURE startActivityForResult takePictureIntent 1
  • 在调试模式下,哪些代码更改会自动反映在 Eclipse 中?

    我使用 eclipse 用于编写 调试 作为 IDE 在调试模式下 当我进行一些更改 例如初始化局部变量 时 它们会自动反映 但其他更改例如更改静态变量的值 有时我会收到一条消息 说我需要重新启动虚拟机 有时则不需要 现在的问题是哪些类型的
  • 仅在java中使用数组计算50的阶乘

    我是java的初学者 我有一个作业要编写一个完整的程序 使用数组计算 50 的阶乘 我无法使用像 biginteger 这样的任何方法 我只能使用数组 因为我的教授希望我们理解背后的逻辑 我猜 然而 他并没有真正教我们数组的细节 所以我在这
  • 当我必须在 Netty4 编码器中调用 ByteBuf.retain() 时?

    我正在编写一个以 NUL 终止 JSON 消息的编码器 以便在消息碎片的情况下可以对其进行解码 我找到了这个样本 gt click https github com netty netty blob master codec src mai
  • 跳过一行GridBagLayout

    我在 JFrame 上使用 GridBagLayout 我希望能够跳过一两行 但将这些行显示为空白 然后在这些行后面有一个按钮 我在文档中找不到任何方法来执行我所描述的操作 有谁知道我可以执行此操作的任何方法吗 发现它比添加空组件干净得多
  • 1° 夏令时 Java 和 JS 表现出不同的行为

    假设巴西利亚 GMT 0300 夏令时于 21 10 2012 00 00 00 此时时钟应提前一小时 Java new Date 2012 1900 9 21 0 0 0 Sun Oct 21 01 00 00 BRST 2012 Chr
  • 文件构造函数说明

    我无法理解以下文件构造函数 public File String parent String child and public File File parent String child 参数有什么作用parent and child该文件

随机推荐

  • 通过布尔属性使用“track by”过滤 Angular 1.2 ng-repeat

    我试图根据布尔属性的值过滤一些列表项 但无论我做什么 整个列表都会显示 我尝试过的一些东西已经损坏 没有任何显示 但这既不在这里也不在那里 我无法让我的过滤按预期工作 scope attendees firstname Steve last
  • 如何在 Scala 中向枚举添加方法?

    在 Java 中你可以 public enum Enum ONE public String method return 1 TWO public String method return 2 THREE public String met
  • REST 如何在 URI 中传递空路径参数?

    我正在开发一个安静的网络应用程序 在此我采用的参数是 userid 和 orderid The userid can be null URI 是 Path api user userid order orderid 我的方法是 void a
  • 最好的 GWT 小部件库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何阻止 Meteor/Cordova 应用程序连接到 10.0.2.2? (为什么应用程序会连接到那里?)

    我有一个 Meteor 应用程序 它在本地服务器上运行以进行开发 http 10 0 2 10 3000 http 10 0 2 10 3000 The ROOT URL设置正确 所以 meteor runtime config ROOT
  • 检查列表中是否包含 Ansible 中的项目

    我正在尝试检查提供的版本是否是有效的受支持版本 我已在变量中设置了可接受版本的列表 如果提供的版本不在列表中 我希望任务失败 但是 我不确定如何做到这一点 role vars main yml acceptable versions 2 3
  • 比较两个分数(< 和朋友)

    我有两个我喜欢比较的分数 它们的存储方式如下 struct fraction int64 t numerator int64 t denominator 目前 我这样比较它们 bool fraction le struct fraction
  • Pyspark dataframes:根据另一列的值提取一列

    我有一个包含以下列和相应值的数据框 请原谅我的格式 但不知道如何将其放入表格格式 Src ip dst ip V1 V2 V3 top A B xx yy zz V1 现在我想添加一列 比如说top value它获取与 V1 中的字符串对应
  • 具有 http PUT 方法约束的属性路由

    我正在使用 MVC5 的新属性路由并已获取 httpGET and POST方法约束通过添加来工作 HttpGet and HttpPost 归因于我的行动方法 但是当我添加 HttpPut 我刚刚收到 404 错误页面 有谁知道我需要做什
  • VB6 和 VBA 的替代 IDE [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我已经被 Visual Studio 2008 宠坏了Eclipse https en wikipedi
  • 如何找到覆盖另一个矩形的矩形面积

    我有一个点 xmin ymin xmax ymax 列表 如黑点所示 How to find which are the rectangles that are being covered by another rectangle and
  • 如何在flutter中获取firestore文档的documentid?

    我已尝试以下操作 但它返回一个随机字符串 该字符串不存在于 firestore 中 我确实设法使用查询快照获取父集合的 documentid DocumentReference doc ref Firestore instance coll
  • MSTest 代码覆盖率

    我有一个 Web 服务的测试项目 当我在调试模式下运行测试时 一切正常 但是 当我刚刚运行测试时 对于我尝试获取代码覆盖率的引用程序集 出现以下错误 类初始化方法 WebServiceTest wstest MyClassInitializ
  • NodeJs 文件上传期间停止请求

    我正在编写一个图像上传器 我想将图像的大小限制在 3mb 以下 在服务器端 我可以检查标题中图像的大小 如下所示 使用express app post upload function req res if req headers conte
  • 多线程环境下静态局部变量初始化

    假设有一个函数 可能是成员函数 SomeType foo static SomeType var generateVar return var How var将被初始化 如果foo会同时从多个线程中 第一次 调用吗 是否保证generate
  • ndk-build eclipse 参数:找不到类

    我们正在为 Android 设备开发一个系统 为此 我们使用 FC16 Eclipse SDK NDK 在 Eclipse 中 运行 gt 外部工具 gt 外部收费配置 gt 我们有以下选项卡 Main Location usr java
  • IntelliJ IDEA 在哪里保存本地历史文件?

    我的公司有一项政策 要求在本地开发人员计算机上将源代码保存在加密存储中 IntelliJ IDEA 在哪里保存用于驱动其的代码更改的副本当地历史特色 http www jetbrains com idea features local hi
  • 构建失败 java.lang.OutOfMemoryError: Java 堆空间

    我在构建 build xml 时遇到这个问题 BUILD FAILED java lang OutOfMemoryError Java heap space at java util Arrays copyOf Arrays java 27
  • 捕获模块加载错误并处理它们

    我正在尝试使用 require js 加载一些内容 如果内容不存在 我想捕获错误并通知用户 在萤火虫中我可以看到两个错误 网络错误 404 未找到 然后几秒钟后 var e new Error msg nhttp requirejs org
  • AbstractRoutingDataSource + JPA 不会创建除 defaultTargetDataSource 之外的表

    我使用 JPA 注释 Hibernate 实现 来初始化我的数据库架构 我关注这篇文章动态数据源路由 http blog springsource com 2007 01 23 dynamic datasource routing 实现动态