Spring Data JPA 的 @Query 注解允许开发者使用 JPQL(Java Persistence Query Language)编写自定义查询语句,简化了数据库操作。在执行 INSERT 操作时,可以结合 POJO(Plain Old Java Object)对象作为方法参数,将数据传递给查询语句。

例如,假设有一个名为 User 的实体类:

public class User {
    private Long id;
    private String username;
    private String password;

    // getters and setters
}

要插入新的 User 对象,可以使用以下代码:

public interface UserRepository extends JpaRepository<user, long=""> {

    @Query("INSERT INTO User (username, password) VALUES (:#{#user.username}, :#{#user.password})")
    void insertUser(@Param("user") User user);
}
</user,>

@Query 注解中,:#{#user.username}:#{#user.password} 分别表示 User 对象的 usernamepassword 属性。@Param("user") 注解将方法参数 user 与查询语句中的 :#{#user} 绑定,从而实现将对象属性值传递给 INSERT 语句。