我想使用以下函数在存储库上创建一个insert查询
void insertValues(Iterable<Long> keys)
查询必须插入多行,但只有主键更改,其余为常量;
我尝试了以下查询
@Query(nativeQuery = true, value = "INSERT INTO my_table (id, col1, col2, col3) VALUES :#{[0].!['('+#this+',''val1'',''val2'',''val3'')']}" )
和
@Query(nativeQuery = true, value = "INSERT INTO my_table (id, col1, col2, col3) VALUES (:#{[0].![new Object[]{#this, 'val1', 'val2', 'val3'}]})" )
前者失败是因为整个值作为单个varchar插入了一个prepared语句,后者失败是因为spel表达式终止于第一个右括号(我在这里关闭数组),而不是第二个右括号
有什么办法吗?
1条答案
按热度按时间6yjfywim1#
我认为这是不可能的。用这样的方法: