Я реализую интерфейс в своем проекте (проект Spring MVC), который имеет десять методов. Я реализовал два метода и хочу, чтобы Spring продолжал использовать интерфейс для запроса базы данных, если не реализованы все методы. Интерфейс имеет аннотацию @Query и работает нормально, но идея состоит в том, чтобы реализовать метод с помощью построителя критериев.
Мой интерфейс
@Repository
public interface TagDAO extends JpaRepository<Tag, Integer> {
@Query("SELECT count(*) from Tag t WHERE t.isActive = true")
public Long getTagCount() throws DataAccessException;
@Query("SELECT t from Tag t WHERE t.tagName = :tagName")
public Tag findByTagName(@Param("tagName") String tagName) throws
DataAccessException;
...........
rest of the methods
}
Я реализовал три метода в классе TagDAOImpl, но хочу, чтобы реализация не использовалась в моем проекте, пока реализация не будет завершена. Есть ли способ принудительно использовать интерфейс, пока я не завершу реализацию?
Не могли бы вы уточнить?
Если вы предоставляете конкретную реализацию класса репозитория, тогда должны быть реализованы оба метода.
Потому что я сказал два метода, но их 10, и я не могу реализовать все 10 и протестировать их за один раз. Так что я думал делать это в группах по 2-3 человека за раз.
Но полные методы в классе Impl, а не пользовательские методы оставьте в интерфейсе. Я не понимаю, в чем проблема.
Проблема в том, что когда я реализую, мне приходится перезаписывать методы без реализации. Сейчас функциональность ломается из-за незавершенной реализации. Итак, я подумал, смогу ли я принудительно использовать интерфейс, пока я не завершу все методы, которые не нарушат функциональность, и мой код тоже будет работать.




Чтобы принудительно реализовать методы, просто определите репозиторий
class.