How to add custom method to Spring Data JPA

后端 未结 12 2070
盖世英雄少女心
盖世英雄少女心 2020-11-22 12:58

I am looking into Spring Data JPA. Consider the below example where I will get all the crud and finder functionality working by default and if I want to customize a finder t

12条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-22 13:18

    I use SimpleJpaRepository as the base class of repository implementation and add custom method in the interface,eg:

    public interface UserRepository  {
        User FindOrInsert(int userId);
    }
    
    @Repository
    public class UserRepositoryImpl extends SimpleJpaRepository implements UserRepository {
    
        private RedisClient redisClient;
    
        public UserRepositoryImpl(RedisClient redisClient, EntityManager em) {
            super(User.class, em);
            this.redisClient = redisClient;
        }
    
    
    @Override
    public User FindOrInsert(int userId) {
    
        User u = redisClient.getOrSet("test key.. User.class, () -> {
            Optional ou = this.findById(Integer.valueOf(userId));
            return ou.get();
        });
        …………
        return u;
    }
    

提交回复
热议问题