我有这个班级
public class Money {
private BigDecimal amount;
private String currency;
}
我希望通过创建自定义序列化器或类似方式,告诉hibernate以这种方式将Money
类保持为String
: 23.00 EUR
基本上序列化将amount
舍入为2位小数+空格+ currency
,反序列化将遵循逆逻辑。
实施起来应该不难,但我找不到提示。 任何想法如何做到这一点?
答案 0 :(得分:1)
准备出发:AttributeConverter
import javax.persistence.AttributeConverter;
@Converter(autoApply = true)
public class MoneyAttributeConverter implements AttributeConverter<Money, String> {
@Override
public String convertToDatabaseColumn(Money in) {
return ... convert here;
}
@Override
public Money convertToEntityAttribute(String in) {
return ... and here;
}
}
希望帮助:)
EDIT。关于保证金的说明,序列化是类似的&#39;持久性,但不一样。谷歌在@Transient
注释与transient
关键字之间的差异&#34;