求 queryDsl 在spring boot 2 的通用Service 和Repository

banditgao banditgao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

@NoRepositoryBean
public interface BaseRepository<T> extends JpaRepository<T, Long>, JpaSpecificationExecutor<T>, QuerydslPredicateExecutor<T>
{
}

public interface UserJPA extends BaseRepository<User>
{
// ../可以添加命名方法查询
}



@Component
public class UserJPAManage
{
@Autowired
private IUserJPA userJPA;

@Autowired
@PersistenceContext
private EntityManager entityManager;

private JPAQueryFactory queryFactory;

@PostConstruct
public void init()
{
queryFactory = new JPAQueryFactory(entityManager);
}

public void save(User entity)
{
userJPA.save(entity);
}

public User findOneByUserName(final String userName)
{
QUser quser = QUser.user;
return queryFactory.selectFrom(quser).where(quser.name.eq(userName)).fetchOne();
}

//省略更多查询方法


初学queryDsl使用spring boot2 里使用.
这么做每个表都得有interface UserJPA 还得写 UserJPAManage 以便于JPA和 queryDsl 合用,感觉不方便.
但是queyDsl没有save(),所以又离不开jpa

有没有比较通用的BaseService和BaseRepository 可以少造轮子...
谢谢啊!...
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
banditgao
Java EE 67,535 成员 225,843 内容