是否可以将休眠模型类中的application.yaml中的某些变量用作参数而不是硬编码值。
例如。
@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}"),
}
)
在application.yaml
value: "niceValue"
还有其他方法可以使该值通用吗?
我正在使用Spring 4.3.5,Spring Boot 1.4.3。然后休眠5.0.11.Final。
答案 0 :(得分:0)
我将通过以下方式做到这一点:
@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
}