Как писать собственные запросы в Spring Data JPA? Есть ли более удобный метод, чем следующий?Раньше я делал так:
public class TestCustomRepositoryImpl implements TestCustomRepository {
@PersistenceContext
private EntityManager entityManager;
@Override
public Double getValue(Long param) {
// Simple SQL query for example.
String queryString = "SELECT column_name1 FROM table_name1 "
+ "WHERE column_name2 = " + param;
Query query = entityManager.createNativeQuery(queryString);
List resultList = query.getResultList();
if (!resultList.isEmpty()) {
Number value = (Number) resultList.get(0);
if (value != null) {
return value.doubleValue();
}
}
return 0.0;
}
}
Затем я добавил пользовательский интерфейс в свой репозиторий JPA:
public interface TestRepository extends JpaRepository<TestEntity, Long>, TestCustomRepository {
}
Есть ли более удобный способ?Могу ли я использовать Spring Data для CRUD и реализовать TestCustomRepository с MyBatis, например? Как вы реализуете свои собственные методы?