Передать аргумент аннотации из файла свойств? - PullRequest
0 голосов
/ 11 февраля 2020

Я использую аннотацию Hibernate Columntrasnformer для передачи выполнения определенных функций SQL при чтении и записи в столбец. Однако одним из аргументов этой функции SQL является строка, которую необходимо передать из файла свойств.

This works
@Entity
@Table(name = "my_table")
public class myEntity {
    public static final String parameter = "TESTPARAMTER";
    @ColumnTransformer(read = "MY_FUNCTION_READ(my_column_name,"+ parameter "+)", write = "MY_FUNCTION_READ(my_column_name, "+paramter+)"
    @Column(name = "my_column_name")
    private String myColumnName;
}

Я переместил переменную в другой класс, и это тоже работает

public class Constants{
    public static final String PARAMTER = "TESTPARAMTER";

}

 public class myEntity {
        @ColumnTransformer(read = "MY_FUNCTION_READ(my_column_name,"+ Constants.PARAMETER "+)", write = "MY_FUNCTION_READ(my_column_name, "+ Constants.PARAMETER +)"
        @Column(name = "my_column_name")
        private String myColumnName;
    }

Однако, если я изменю класс Constants на этот, он не будет работать

public class Constants{
    @Value("${parameter}")
    public static String PARAMTER;
}

Я получаю сообщение об ошибке Значение атрибута аннотации ColumnTransformer.read должно быть константным выражением

Есть ли способ, которого можно достичь, как у меня разные параметры для разных сущностей. Также параметры будут продолжать меняться. Так что каждый раз при изменении параметра будет требоваться огромная поддержка кода.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...