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

banditgao 2019-05-12 09:24:06

@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 可以少造轮子...
谢谢啊!...
...全文
204 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧