在请求中,对象作为参数传递。如何将该对象的字段传递给请求? 谢谢大家。
@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);
答案 0 :(得分:1)
您使用@Param
。我还建议更改数据库中的列名,因为它们当前不符合约定。 “名字”应该是“名字”,依此类推。
Integer update (@Param("firstName") String firstName, @Param("lastName") String lastName, @Param("developerId") Integer developerId);
EDIT (如果要保持方法参数不变),可以使用:
@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
,这取决于您在实体类中的命名方式。
答案 1 :(得分:0)
我解决了这个问题
@Modifying
@Query(value="INSERT INTO developers (firstName, lastName) VALUES (:#{#dev.firstName}, :#{#dev.lastName})",
nativeQuery = true)
Integer create(@Param("dev")Developers developer);