SpringBoot学习笔记 | JPA自定义@Query查询

2018-03-26  本文已影响0人  殷俊杰

@Query自定义sql查询

@Query自定义sql更新/删除

使用JPA开发过程中,JPA会根据我们提供的方法名自动实现查询方法
有时JPA提供的方法不满足我们的需求,我们需要自定义repository方法

@Repository
public interface UserRepository extends JpaRepository<User,Integer> {
    @Transactional
    @Modifying
    @Query("update t_user set name=:name where id=:id")
    void updateUserImg(@Param(value = "name")String name,@Param(value = "id") Integer id);
}

这个是操作User实体类的repository,注意表名,我也不清楚到底啥时候写User啥时候写t_user。。
@Query注解中加入nativeQuery=true 属性表示使用原生sql,否则默认是hql(实体类查),暂时这么理解
实体类,更新和删除操作时加上@Modifying注解,根据需求加事务

@Entity(name = "t_user")
public class User {
    @Id
    @GeneratedValue
    private Integer id;
    private String name;
}

测试类

userRepository.updateUserImg("二狗子",1);
image.png

@Query多表联查

上一篇 下一篇

猜你喜欢

热点阅读