LoginSignup
0
0

【Spring Data JDBC】VScodeで@Queryの引数に@Paramを使わないと怒られる

Posted at

はじめに

EclipseからVScodeに変更して突如、
Springから怒られたので、備忘録として残します。

問題

起動すると以下のエラーが出力されました。

エラー
For queries with named parameters you need to provide names for method parameters; 
Use @Param for query method parameters, or when on Java 8+ use the javac flag -parameters

DeepLで翻訳すると以下の通りです。

エラー
クエリーのメソッド・パラメーターには@Paramを使うか、
Java 8+の場合はjavacフラグ-parametersを使う。

解決方法

Repositoryの@Queryの引数に@Paramを使うと動きました。参考リンク

Repositoryを変更してみる

Repository.java(変更前)
public interface Repository extends CrudRepository<Users,Integer>{
	//ユーザ登録
	@Modifying
	@Query("insert into users (name,password) values (:name,:password)")
	void createUser(String name,String password);
Repository.java(変更後)
public interface Repository extends CrudRepository<Users,Integer>{
	//ユーザ登録
	@Modifying
	@Query("insert into users (name,password) values (:name,:password)")
	void createUser(@Param("name") String name,@Param("password") String password);

終わりに

初歩的なことですが、
エラー文で検索して日本語で解説されたページがなかったので残しておきます。
参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0