EclipseLink - @ReadTransformer - PullRequest
       2

EclipseLink - @ReadTransformer

0 голосов
/ 06 декабря 2011

У меня есть этот код:

@Column(name = "foo")
@ReadTransformer(transformerClass=transformer.class)
private Date foo;

public static class transformer implements AttributeTransformer {

    @Override
    public void initialize(AbstractTransformationMapping atm) {

}

    @Override
    public Object buildAttributeValue(Record record, Object o, Session sn) {

    }

}

Мой вопрос: как мне получить значение для преобразования (из столбца foo) внутри buildAttributeVaule?Он не находится внутри массива записей.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Вам нужен один или несколько @WriteTransformer для записи полей, которые вы хотите выбрать (и, следовательно, их выбор), @Column не используется с отображением преобразования.

Однако, если у вас есть только один столбец, а затем просто используйте конвертер, @ Convert,

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters

0 голосов
/ 06 декабря 2011

Сначала проверьте, что сгенерированный SQL читает в столбце "foo", включив ведение журнала.Если это так, убедитесь, что база данных возвращает «foo», а не «FOO» - java чувствителен к регистру при поиске строкВозможно, в записи записано «FOO», а не «foo».

...