当前位置: 首页 > 知识库问答 >
问题:

如何从配置中获取Spring数据jpa实体的架构名称

公良飞尘
2023-03-14

在我的Spring Boot应用程序中,我使用Spring data jpa。在实体中,我需要从配置中选择架构名称,架构将发生变化,并且需要可配置。我试过下面的但不管用

@Entity
@Table(schema="${schema.name}", name="MyTable")

模式。名称在应用程序中定义。属性文件

我收到“无法提取结果集”错误

有没有办法做到这一点?

===================编辑===============

@Entity
@Table(name="MyTable")
public class MyData {

    @Id
    @Column(name="MyID")
    @JsonProperty("MyID")
    private String MyID;

    @Column(name="number")
    @JsonProperty("number")
    private String number;

    @Column(name="value")
    @JsonProperty("value")
    private String value;

    ......getter and setters go here.....
}

共有2个答案

羿易安
2023-03-14

使用

spring.jpa.properties.hibernate.default_schema=schema

你可以在这里看到类似的问题。

吴俊风
2023-03-14

请在应用程序中设置架构和其他与数据库相关的配置。属性文件
将架构名称保留在实体中不是一个好做法。

如下代码所示:

spring.datasource.url=jdbc:mysql://192.168.97.39:3309/schema-name?autoReconnect=true&autoReconnectForPool=true&characterEncoding=UTF-8
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

spring.datasource.username=userName
spring.datasource.password=Password

这里是在spring中配置的架构名称。数据源。url属性

 类似资料:
  • 问题内容: 我实现了一个使用Oracle DB的Web应用程序(JEE6,EJB WebProfile)。我的问题是,我需要更改使用的数据库架构(名称),而无需重新编译/重新打包应用程序。因此,我想要的(这只是一个主意,也许有人有更好的主意),是在服务器内进行一些配置(JNDI),具体说明架构名称。但是,如何配置Eclipse Link在运行时使用其他模式名称? 细节: 目前,我使用该文件指定架构

  • 问题内容: 我发现在hibernate配置文件中,我们可以设置参数: 现在,我正在使用JPA,我也想这样做。否则,我必须将参数添加到每个@Table注释中,例如: 据我了解,此参数应该在配置的这一部分中: …但是我在Google中找不到它的名字。有任何想法吗? 问题答案: 也不知道为此的JPA属性。但是,您可以仅将Hibernate属性(假设您使用Hibernate作为提供程序)添加为 hiber

  • 我有用户表,列id, mname, firstname, lastname, age(5列)使用Spring data jpa我只需要获取id, firstname, age(只有3列) 实用性低于user.java UserRepository.java 在科尔索勒中收到以下错误: org.springframework.core.convert.ConverterNotFoundExcepti

  • 我有vehicleId和vehicleName的值,我想从这两个属性值中获取User对象。 我不想创建一个车辆存储库仅仅是为了找到用户对象,我知道可以通过创建一个车辆存储库来实现,它扩展了springdatajpa中的JPA存储库。

  • 我使用Spring引导,Spring数据JPA,我正在寻找解决方案,以获得给定表的所有列名。但没能按我的要求找到 不需要本机查询的解决方案。正在寻找使用spring数据抽象的通用解决方案。 我可以使用普通java获取列名,但我想使用spring数据JPA获取它们。

  • 我在我的项目中使用Spring Data JPA和Hibernate JPA提供程序。在我的服务中,我有一个方法,它将一个实体保存在数据库中,而不是使用返回的对象,我试图获取关于该实体的更多细节。因此,无法获取详细信息。在日志中,我只看到insert语句,而没有select详细信息。 下面是我的代码: 更新:我从服务和测试中删除了@Transactional annotaion。现在,当我保存一个