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);
我需要准确地传递对象。