【状況】
ユーザのJpaRepositoryインターフェースに宣言したJPQLを使用したら、意味不明のエラーがでてしまって困っています。
Userエンティティクラス
Java
1 2import java.util.Date; 3import java.util.List; 4 5import javax.persistence.*; 6 7import lombok.Getter; 8import lombok.Setter; 9import lombok.ToString; 10 11@Getter 12@Setter 13@ToString 14@Entity 15@Table(name = "m_user") 16public class User { 17 18 @Id 19 @GeneratedValue(strategy = GenerationType.AUTO) 20 private Long id; 21 private String username; 22 private Date create_at; 23 private Date update_at; 24 25 @Transient 26 private List<MinutesKind> minutesKind; 27 28 @Transient 29 private List<Authority> authority; 30 31 public User() { 32 } 33 34 public User(List<MinutesKind> minutesKind) { 35 this.minutesKind = minutesKind; 36 } 37 38 public User(List<MinutesKind> minutesKind,List<Authority> authority) { 39 this.minutesKind = minutesKind; 40 this.authority = authority; 41 } 42} 43
UserRepositoryインターフェース
JAVA
1import org.springframework.data.jpa.repository.JpaRepository; 2import org.springframework.data.jpa.repository.Query; 3 4import com.jpa.test.model.User; 5 6public interface UserRepository extends JpaRepository<User, Long> { 7 User findByUsername(String username); 8 9 @Query(value = "insert into m_user(username) values(?1)",nativeQuery=true) 10 void insertUser(String username); 11} 12
ユーザ作成のControllerクラス
JAVA
1import org.springframework.beans.factory.annotation.Autowired; 2import org.springframework.stereotype.Controller; 3import org.springframework.ui.Model; 4import org.springframework.web.bind.annotation.ModelAttribute; 5import org.springframework.web.bind.annotation.RequestMapping; 6import org.springframework.web.bind.annotation.RequestMethod; 7 8import com.jpa.test.model.User; 9import com.jpa.test.repository.UserRepository; 10 11@Controller 12public class UserController { 13 14 @Autowired 15 private UserRepository userRepository; 16 17 @RequestMapping(value = "/userCreate", method = RequestMethod.GET) 18 public String getInput(Model model) { 19 20 User user = new User(); 21 model.addAttribute(user); 22 return "userCreate"; 23 } 24 25 @RequestMapping(value = "/userCreate", method = RequestMethod.POST) 26 public String postInput(@ModelAttribute User user) { 27 28 userRepository.insertUser(user.getUsername()); 29 return "redirect:/userCreate"; 30 } 31}
以上を踏まえて「ResultSetを抽出することができませんでした」や「executeQuery()とデータ操作文を発行することはできません」といったエラーがでてしまいます。なぜなのかが疑問で困っています。なぜクエリーが実行できていないのかわかる方また、解決策がある方教えて下さい。以上、宜しくお願い致します。
※通常ならばこの場合、userRepository.save(モデル名)で簡単にinsertできますが、ある特定のプロパティを保存したい場合はどうすれば良いのかと思った。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。