vis*_*ule 3 hibernate spring-data-jpa spring-boot
我在Spring Boot Application中使用Spring-dat-jpa,并尝试在存储库中执行本机查询。当我在表名称后附加模式名称时,它可以正常工作,但它不能独立运行,并且不会像我定义的实体类那样从application.properties文件中选择模式名称
我正在使用下面的属性来设置默认架构,它对于实体类和命名查询工作正常。但是,当我在@query中编写任何本机查询时,它开始抱怨架构名称:
spring.jpa.properties.hibernate.default_schema=NPS_WO
Run Code Online (Sandbox Code Playgroud)
以下是我的查询:
@Repository
public interface TestRepository extends JpaRepository<TypeRef,Long> {
@Query(value="SELECT t.* from Type_Ref t")
public List<Object[]> findAllTypes();
}
Run Code Online (Sandbox Code Playgroud)
在我的实际情况中,此查询将由复杂的本机查询代替。
任何帮助将不胜感激。
小智 6
您可以使用来访问本机查询中的默认架构名称{h-schema}。
因此,您的查询应如下所示:
@Query(value="SELECT t.* from {h-schema}Type_Ref t")
public List<Object[]> findAllTypes();
Run Code Online (Sandbox Code Playgroud)
h模式与表名之间没有点,这是自动添加的。
| 归档时间: |
|
| 查看次数: |
3525 次 |
| 最近记录: |