Имя таблицы Hibernate из application.properties в Spring Boot - PullRequest
0 голосов
/ 17 июня 2020

Мне нужно сохранить имя таблицы Hibernate в файле Spring Boot application.properties, чтобы я мог изменить его без изменения кода. Мой код выглядит так:

    @Data
    @Entity
    @Table(name = "myTable")
    public class MySpecificTable{

        @Id
        private String someId;
    }
   @Repository
   public interface MySpecificRepository extends JpaRepository<MySpecificTable, String> {

        @Query(value = "SELECT * FROM myTable", nativeQuery = true)
        List<MySpecificTable> getCustom();
   }

Я нашел это сообщение , которое работает довольно хорошо, но если я реализую эту конфигурацию, я не смогу использовать другие методы репозитория по умолчанию (getAll, findById et c), потому что эта стратегия сопоставления не знает, как сопоставить имя таблицы с методами по умолчанию.

Есть ли способ извлечь "myTable" в application.properties, использовать методы репозитория по умолчанию и получить что-то вроде этого кода?

    @Data
    @Entity
    @Table(name = "${table.name.from.properties}")
    public class MySpecificTable{

        @Id
        private String someId;
    }
   @Repository
   public interface MySpecificRepository extends JpaRepository<MySpecificTable, String> {

        @Query(value = "SELECT * FROM " + getTableName() , nativeQuery = true)
        List<MySpecificTable> getCustom();
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...