我想问问是否有可能在回购协议(protocol)中编写避免使用SQL和@Query的Spring JPA方法。此方法必须返回连接的列表值等于某值的列表。
这是类(class):
class Temp1{
val a: String,
}
这是包含上述类(class)的类(class):
class Temp{
val aSet: Set<Temp1>
}
所以我想在repo中有一个方法,该方法返回每个Temp,其中aSet“a”的值等于字符串。
我现在知道了:
findByaSetIn(aSet: List<Temp>)
,但是它需要Temp值列表,而不是更精确的“a”值。在SQL中,它类似于:
SELECT * FROM Temp t JOIN Temp1 t1 ON t1.tempID = t.id WHERE t1.a = "abc"
最佳答案
您正在寻找的是Containing
。
在您的示例中,它应该是这样的:
findByASetContaining(item :Temp1)
该方法将返回所有“Temp”实体的集合,其中“aSet”包含实体“item”。
您不仅可以将
Containing
用于列表和集合的搜索,还可以用于字符串值的搜索。