Почему это перечисление JPA не работает? - PullRequest
0 голосов
/ 03 февраля 2011

В базе данных хранится целое число, а не строка, как я просил.

Вот класс, содержащий перечисление.

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Document extends BaseModel {

    private String title = new String();
    private String description = new String();

    **@Enumerated(EnumType.STRING)
    private DocumentType documentType;**

    @Embedded
    private DocumentImage documentImage;
    // if document should be displayed or published on the web site.
    private Boolean published = new Boolean(false);

    public Document(DocumentType docType) {
        super();
        documentType = docType;
        setDocumentImage(new DocumentImage());

    }

}

и вот класс enum:

public enum DocumentType  {
    policy,procedure,webbookmark,newsrelease,collectionLetter,whitepaper,busform,
    newsarticle ;
}

Я знаю, что это должно работать. Есть идеи?

1 Ответ

1 голос
/ 03 февраля 2011

Одной из возможных причин является то, что ваша аннотация @Enumerated не вступает в силу, поскольку аннотации в BaseModel размещаются на свойствах, а не на полях. Размещение аннотаций в полях или свойствах должно быть согласованным в иерархии наследования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...