Java 向@Query添加对象字段

Java 向@Query添加对象字段,java,mysql,jpa,Java,Mysql,Jpa,在请求中,对象作为参数传递。如何将此对象的字段传递给请求? 谢谢大家 @Repository public interface DevelopersRepository extends CrudRepository<Developers, Integer> , DevelopersDao { /** * Update developer. * * @param developer developer. * @return number

在请求中,对象作为参数传递。如何将此对象的字段传递给请求? 谢谢大家

@Repository
public interface DevelopersRepository extends CrudRepository<Developers, Integer> , DevelopersDao {

    /**
     * Update developer.
     *
     * @param developer developer.
     * @return number of updated records in the database.
     */
    @Query(value="UPDATE developers SET firstName=:firstName, lastName = :lastName WHERE developerId = :developerId",
            nativeQuery = true)
    Integer update (Developers developer);
您可以使用@Param。我还建议更改数据库中的列名,因为它们目前不符合约定。firstName应该是first_name,依此类推

整数更新@ParamfirstName String firstName、@ParamlastName String lastName、@ParamdeveloperId Integer developerId

如果要保持方法参数的原样,请编辑,可以使用:

@Query(value="UPDATE developers SET firstName = :developer.firstName, lastName = :developer.lastName WHERE developerId = :developer.developerId",
            nativeQuery = true)
Integer update (@Param("developer") Developers developer);
developer.developerId可能需要更改为developer.id,具体取决于您在实体类中对它的命名方式。

我解决了这个问题

@Modifying
    @Query(value="INSERT INTO developers (firstName, lastName) VALUES (:#{#dev.firstName}, :#{#dev.lastName})",
            nativeQuery = true)
    Integer create(@Param("dev")Developers developer);

我需要准确地传递对象。