Ho una tabella di database usando un enum. Questo funziona già con l'ibernazione (usando XML), e sto provando a convertirlo in annotazioni poiché questo è uno degli ultimi pezzi che ancora usano la notazione xml.MySQL enum con hibernate
La definizione di colonna:
enum('Active','Pending','Cancelled','Suspend')
le seguenti opere:
<property
name="status"
column="STATUS"
type="string"
not-null="true" />
Questo non funziona:
@Column(name = "status")
public String status;
Lo stile di annotazione porta alla seguente eccezione all'avvio: org.hibernate.HibernateException: tipo di colonna errato in UserDTO per colum n stato. Trovato: enum, atteso: varchar (255)
Esiste un modo per forzare questo ad accettare una stringa come ha fatto con la notazione XML?
la soluzione è corretta almeno per il database MySQL, ma non riesce per i database H2 utilizzati nei test per esempio (caso per la creazione automatica dello schema). Sembra che non sia portatile al 100%, per quanto ricordo ci sono problemi anche su PostgresSQL (almeno se prevediamo che lo schema sia stato generato automaticamente). – kornicameister