San*_*Lee 3 java spring hibernate spring-annotations hibernate-annotations
我有一个类来映射一个使用休眠的表。有一些变量我想忽略以用于映射以用作常量。我想从属性加载常量值,所以我这样编码:
@Transient
@Value("${something.value}")
private int MY_VALUE;
Run Code Online (Sandbox Code Playgroud)
但是,的值MY_VALUE
始终设置为 0。我不能将 @Transient 注释与 @Value 注释一起使用吗?还是我错过了其他东西?
这两个注释属于不同的域。
@Transient
属于一个实体,而@Value
属于 Spring Beans。实体由 JPA/Hibernate 管理,Spring Beans 由 Spring 管理。将两者混合使用并不是一个好主意。
您可以通过使用@Configurable
注释和 AspectJ 编译或加载时间编织来实现这一点,但我强烈建议不要使用这种黑客。使用 Spring Bean 来保存一个@Value
,而不是一个实体!
归档时间: |
|
查看次数: |
3767 次 |
最近记录: |