Spring Data JPA + Kotlin + Пользовательская реализация - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть простой репозиторий в Java:

@Repository
public interface DogRepository extends JpaRepository<Dog, Long> {
  Optional<Dog> findByName(String name);
}

Пересчитано в котлин:

@Repository
interface DogRepository : JpaRepository<Dog, Long> {
  fun findByName(name:String) : Optional<Dog>
}

Пока здесь все работает как положено. Теперь я хочу добавить пользовательскую реализацию.

В Java это работает :

@Repository
public interface DogRepository extends JpaRepository<Dog, Long> {
  Optional<Dog> findByName(String name);

  default String foo(){
    return "Foo";
  }
}

В Котлине это не работает :

@Repository
interface DogRepository : JpaRepository<Dog, Long> {
  fun findByName(name:String) : Optional<Dog>
  fun foo() = "Foo"
}

Исключение:

org.springframework.data.mapping.PropertyReferenceException: No property foo found for type Dog!

В чем причина? Я что-то не так делаю или это ошибка?

Версии:

  • Spring Boot 2.0.2.RELEASE
  • Spring Core: 5.0.6.RELEASE
  • Spring Data JPA: 2.0.7.RELEASE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...