java - 在 native 查询中将架构名称作为参数传递

标签 java hibernate spring-boot jpa

我有以下两个查询,它们完全在不同的架构上运行 以下是查询:

select abccode from abc_first.table_configurations_name;

select abccode from abc_sec.table_configurations_name;

对于第一个查询,架构是 abc_first ,对于第二个查询,架构是 abc_sec 现在我必须在 JPA 中编写参数化查询,而参数我将获取架构名称,根据该架构名称,我将执行在架构名称前面加上类似前缀的查询

select abccode from {schema-name}.tablename ;

请告知如何使用 Spring Boot JPA 来实现这一点。

最佳答案

您可以使用实体管理器创建如下查询:

...

@PersistenceContext
private EntityManager entityManager;

public someMethod(String databaseName, String schemaName) {
    this.entityManager.createNativeQuery("select abccode from" + databaseName + "." + schemaName + ".tablename");
}

关于java - 在 native 查询中将架构名称作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57459853/

相关文章:

java - Tomcat 8 上下文初始化两次

java - 从petclinic jpa中的EntityManager获取 session 对象

java - MyBatis 遵循 JPA 吗?

java - 是否可以使用Java和kotlin创建Spring Boot应用程序?

java - Spring:为什么要有多个缓存

java - 使用局部变量作为参数的模拟内部方法

java - 如何在android studio中将图像放在按钮上

java - 通过构造函数传递值的最佳实践 - JAVA

java - 在Web应用程序中使用Hibernate和Spring的问题

elasticsearch - 如何使用 REST 模板通过 JSON 文件向 Elastic Search 发出 PUT 请求