我使用的条件是JPA,我正面临问题。
@Query("select new com.tivo.extract.config.model.DTO(s.SourceId, s.SourceName, t.TvsourceLongName) from MyTelevisionSource t join fetch RCMSource s ON s.SourceId = t.SourceId where s.SourceId LIKE ?1% ")
List<DTO> findFilteredSourceList(String seachInput);
如果我像s.SourceId
一样使用%?1% --> %searchInput% ->
,则可以正常工作
但对于s.SourceId
之类的?1% -> searchInput% ->
来说,它不起作用
SourceId
列。
我得到一个例外:
Parameter value [021%] did not match expected type [java.lang.Long (n/a)];
nested exception is java.lang.IllegalArgumentException:
Parameter value [021%] did not match expected type [java.lang.Long (n/a)]
答案 0 :(得分:0)
尝试玩CONCAT
:
@Query("select new com.tivo.extract.config.model.DTO(s.SourceId, s.SourceName, t.TvsourceLongName)
from MyTelevisionSource t join fetch RCMSource s ON s.SourceId = t.SourceId
where s.SourceId LIKE CONCAT(?1,'%') ")
List<DTO> findFilteredSourceList(String seachInput);