春JpaRepository可以生成从接口方法的名称的SQL查询:春天JPA方法名验证
@Repository
@Transactional
public interface SomeEntityRepository extends JpaRepository<SomeEntity, Long> {
List<SomeEntity> findAllByEntityId(Long id);
List<SomeEntity> findAllByEntityIdAndDateOfCreationBetweenAnd/*...*/(Long id, /*...*/);
}
正如你所看到的 - 它可以是复杂的。因此,方法名称可能不正确,并且会发生编译器错误。
问:
是否可以查看/在实际项目中使用它(这需要一定的编译时间,试验和错误)之前验证方法的名字吗?
或者也许有可能在使用前将这种方法名称转换为SQL - 以查看此方法名称是否有效,以及它是否可以执行所有操作?
当然,显而易见的方法是只做小测试项目。但我觉得它一定是更好的方法。
感谢您的任何建议。
Spring并验证该方法正确翻译** JPQL **。所以查询应该总是在语法上是正确的。但这并不意味着它会做你期望的事情。这就是为什么你应该写自动化测试。此外,它不是会发生的*编译器*错误,而是* runtime *错误。 –