spring - jpa Hibernate 使模式名称在实体类中可配置
问题描述
我正在开发一个简单的 Spring Boot 应用程序,其中 jpa + Hibernate 是用于访问我的数据源(即 Oracle DB)的用户。实体类如下所示。
@Entity
@Table(name="MY_SCHEMA.MY_DB")
public class Member implements Serializable {
.............
}
目前我的项目没有任何persistence.xml。问题是,我需要使 @Table 注释中的模式名称(MY_SCHEMA)可配置,即在运行时从 application.properties 文件中获取模式值。
我尝试spring.jpa.properties.hibernate.default_schema=schema
在 application.properties 文件中添加选项。但一切都是徒劳的。
更新
在另一个问题Hibernate how to make schema name configurable for entity class中添加了更多细节
解决方案
以下是可用于在特定模式中创建表的可用选项。在架构字段中提及架构名称。
@Entity
@Table(name = "MY_TABLE_NAME", schema= "MY_SCHEMA_NAME")
public class Myclass {
您还可以使用 application.properties 文件在 DB URL 中定义模式名称,如下所示。您需要根据需要更新值。
spring.datasource.url=jdbc:mysql://localhost:3306/MY_SCHEMA_NAME?autoReconnect=true&useSSL=false
推荐阅读
- algorithm - 证明或反证:对一个 n 位整数求平方比将两个 n 位整数相乘要快
- c++ - 在 C++ 函数中使用数组作为参数
- visual-studio - .NET 核心 3.0 RC 与预览版 9
- javascript - Node.js 获取文件名,按整数值排序,返回文件名里面的最大值
- mysql - 如何计算多行(单独)
- c# - 将普通字符串转换为对象
- c++ - 如何将表格内容与表格一起保存在 Win32 剪贴板上
- database - Enterprise Architect - 如何提取数据库表列的可空性?
- typescript - 如何在 LoopBack 4 模型中指定没有时间的日期?
- video-encoding - 四分之一精度运动矢量是如何编码的