我有多個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