mysql - 我应该如何使用连接对 JPA 条件查询进行单元测试?还是不可能,只需添加集成测试?
问题描述
我有一个涉及三个实体的函数,并使用 JPA 的条件 API 创建了一个查询。
`
CriteriaQuery<Entity1> qEntity = cb.createQuery(Entity1.class);
Root<Entity1> rGroup = qEntity.from(Entity1.class);
Join<Entity1, Entity2> jEntity2 = rEntity1.join(mEntity1ToEntity2);
Join<Entity1, Entity3> jEntity3 = rEntity1.join(mEntity1ToEntity2);
Predicate[] predicates = predicates(rEntity1, jEntity2, jEntity3, ...);
qEntity1.where(predicates);
TypedQuery<Entity1> typedQuery = em.createQuery(qEntity1);
Search<Entity1> entity1Search = newEntity1Search(
typedQuery.getResultList(), typedQuery.getResultList().size());
// some other processing
return entity1Search;
`
如何对该方法进行单元测试以检查 DAO 的结果是否正确?还是我应该添加一个集成测试来检查查询结果是否正确?
谢谢!
解决方案
推荐阅读
- sql - Oracle SQL - 在自身上加入表,ON(列 * -1)
- matlab - 重新排列matlab中相关的两个向量
- oracle - 过滤Oracle查询结果表
- c# - 如何对长 LINQ 链中可枚举的每个项目进行断言
- android - 如何使用具有分辨率切换功能的原生 Android 制作视频播放器,就像我们在 YouTube 中看到的那样?
- sql - 用于查找过去 120 天内未登录的用户的 SQL 查询
- scala - 如何从 Scala 中的 DataFrame 在 Spark 中创建分布式稀疏矩阵
- angular - 如何在Angular Material中循环聚焦()在扩展面板上?
- sql-server - 按月分组的笨拙方式?
- pointers - 围棋之旅,引用 Vector 结构时 & 和 no & 之间的区别