我有存储库和更新方法:
public interface TestRepo extends OrientObjectRepository<Test>
{
@Query("UPDATE Test t SET t.a = :a WHERE t.b = :b")
void updateTest(
@Param("b") String b, @Param("a") int a);
}
如果我运行此更新方法,我会得到IllegalArgumentException
。很可能我的查询对于OrientDb不正确。
那么有没有教程如何使用Spring Data编写更新查询?
答案 0 :(得分:1)
您可以尝试以这种方式更改查询(通过删除t
变量):
UPDATE Test SET a = :a WHERE b = :b
<强> EDITED 强>
您可以尝试以这种方式添加@Modifying(clearAutomatically = true)
:
@Modifying(clearAutomatically = true)
@Query("UPDATE Test t SET t.a = :a WHERE t.b = :b")
void updateTest(
@Param("b") String b, @Param("a") int a);
希望有所帮助