我有多个JPA转换器这样的例子:如何将Object转换为转换器中的特定参数?
@Converter
public class CurrencyConverter4jpa
implements AttributeConverter<Currency, String> {
@Override
public String convertToDatabaseColumn(Currency value) {
if (value == null)
return null;
return value.getCurrencyCode();
}
@Override
public Currency convertToEntityAttribute(String value) {
if (value == null)
return null;
Currency cur = Currency.getInstance(value);
return cur;
}
}
另一个是UUID转换为“二进制(16)”和背部。我将实例化的转换器存储在一个字段中:
private Class<?> convClass = CurrencyConverter.class;
AttributeConverter<?,?> conv = converterClass.newInstance();
public void setConverter(Class<?> converterClass) {
this.convClass = converterClass;
this.conv = converterClass.newInstance();
}
public Object getSQLField(ResultSet rs) {
Object value = null;
if (conv != null) {
value = conv.convertToEntityAttribute(resultSet.getObject(4));
...
仅在Java Object中使用此转换器会导致编译器错误。我试过的是这样的:
任何想法?
你得到的错误是什么? – John 2014-12-05 11:54:03
错误是:类型AttributeConverter中的方法convertToEntityAttribute(capture#10-of?)不适用于参数(Object) –
2014-12-05 14:05:31
您是什么意思“我将实例化的转换器存储在一个字段中:“发布您的类使用转换器 – 2014-12-05 18:20:12