我正在使用spring数据jpa。我注意到spring数据jpa最近支持spel作为查询参数。它在使用object属性作为参数时起作用,但Map没有用。 它下面的代码片段
@Query(value = "select item from BoardItem item " +
"where item.board.id = :#{#search.addition['boardId']} " +
"and ( " +
" item.title like concat('%', :#{#search.value}, '%') " +
" or item.contents like concat('%', :#{#search.value}, '%') " +
" or item.writer like concat('%', :#{#search.value}, '%') " +
")"
)
@Override
Page<BoardItem> findAll(@Param("search") SearchVo searchVo, Pageable pageable);
public class SearchVo {
private String value;
private Boolean regex;
private Map<String, String> addition;
....
new SearchVo().getAddition().put("boardId", "1000");
#{#search.value}有效,但#{#search.addition [&#39; boardId&#39;]}不是。 任何人都可以告诉我它是否适用于#{#search.addition [&#39; boardId&#39;]}这样的拼写? 提前谢谢。