java - spring Jpa 无法识别@Query 参数中的正确实体名称
问题描述
我面临一个非常有线的问题。所以需要你的意见。
我们有一个通用的请求-响应库,它有 2 个文件夹结构,用于 2 个不同的区域:
com.test.aisa
com.test.europe
这两个包都具有共同的实体名称 Transaction.java (因为这在区域中很常见。因此,它已经在库中创建了区域特定的包结构)。
现在,我们有 2 个 spring boot 应用程序。一个用于亚洲/一个用于欧洲。
在我的 ASIA SPRING BOOTAPP 应用程序中,我编写了 TransactionRepository.java。这是代码:
public interface TransactionRepository extends JpaRepository<com.test.asia.Transction,String>{
@Query("select ai from Transaction ai where ai.name : name")
Stream<Transction> findTransctionByName(@Param("name"));
}
现在问题在于@Query("select ai from Transaction ai where ai.name : name") 它指向com.test.europe.Transaction.java。
它无法识别作为com.test.aisa.Transaction.java的一部分存在的字段。
例如,名称字段存在于 com.test.aisa.Transaction.java 中,而不是它的欧洲版本。在它指向正确事务实体的每个位置休息。仅在 @Query 内部,它正在创建问题。
请帮忙!!!!!!!我以前从未见过这种问题。!!!
解决方案
您必须在 jpa 查询中使用完整的类名:
@Query("select ai from com.test.asia.Transaction ai where ai.name = :name")
推荐阅读
- testing - 如何测试`if @generated` 的两边?
- java - 如何将 rgba 从数组转换为十六进制?
- javascript - 将临时分配给变量时异步函数的不同行为
- r - 有没有办法找到加载数据所花费的时间
- ruby - 如果在 Ruby on Rails 中针对多个值检查值 A 的条件,该怎么办?
- reactjs - 在 React 中使用 'for' 作为道具
- scrapy - 使用 Scrapy 获取 itune 播客数据
- javascript - Materializecss + Angular Cli - 选择组件未正确下拉
- c++ - 为什么我的 .exe 文件不能无故生成?
- snowflake-cloud-data-platform - 雪花 - 计算季度的一天