Значение аннотации параметра гибернации из application.yaml - PullRequest
0 голосов
/ 04 сентября 2018

Можно ли использовать некоторую переменную из application.yaml в классе модели hibernate в качестве параметра вместо жестко закодированного значения.

ех.

@GenericGenerator(
    name = "generator",
    strategy = "cool.nice.package.NiceClass",
    parameters = {
    @org.hibernate.annotations.Parameter(
    name = "service", value = "niceValue"),
    }
)

Я так устал, но это не сработало.

@GenericGenerator(
    name = "generator",
    strategy = "cool.nice.package.NiceClass",
    parameters = {
    @org.hibernate.annotations.Parameter(
    name = "service", value = "${value}"),
    }
)

В приложении. YAML

value: "niceValue"

Есть ли другой способ сделать это значение универсальным?

Я использую Spring 4.3.5, весеннюю загрузку 1.4.3. и спящий режим 5.0.11.

1 Ответ

0 голосов
/ 04 сентября 2018

Я бы сделал это следующим образом:

@PropertySource(ignoreResourceNotFound = true, value = "classpath:application.yaml")
@Entity
public class HbnModel{

    @Value("${value}")
    private String valueHere;

    @GenericGenerator(
        name = "generator",
        strategy = "cool.nice.package.NiceClass",
        parameters = {
        @org.hibernate.annotations.Parameter(
        name = "service", value = valueHere),
        }
    )
    privte String someValue;

    // Getters and Setter

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