我正在创建一个 UserRepository,它实现 JpaRepository 并与 User 实体一起使用。我需要一种更新用户名的方法。我决定在@Query 的帮助下完成它。但是它是由Intellij标记的。这是我的存储库代码:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Modifying
@Query(value = "update User user set user.name= %?username"))
void updatingUser(@Param(value = "username") String username);
}
对于实体:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id")
private Long id;
@NotNull
@Column(name = "user_name")
private String username;
}
我遇到了这样一个问题:Intellij Idea 说“这里不允许注释”,并用@Query 注释标记了这一行。这让我很困惑
原文由 Andrey-2310 发布,翻译遵循 CC BY-SA 4.0 许可协议
就我而言,我不小心输入了“;”在@Query 的末尾。可能会帮助别人。