Ho una colonna nel mio database SQL-2005, che era un varchar (max), ma è stato cambiato a un nvarchar (max).Come può Hibernate mappare il tipo di dati SQL nvarchar (max)?
Ora ho bisogno di aggiornare il mio file di mapping Hibernate per riflettere il cambiamento, e questo è ciò che ha usato per essere:
< tipo di elemento = colonna "testo" = "valore"/>
Quando provo ad eseguire l'applicazione, viene visualizzato il seguente errore:
org.hibernate.HibernateException: sbagliato tipo di colonna in [Tabella] per la colonna Valore. Trovato: ntext, prevede: il testo
Cosa devo mettere nel 'tipo' attribuire a mappare correttamente la colonna come un nvarchar (max)?
Ho provato a impostare il tipo su ntext, ma l'ibernazione non sapeva cosa fosse. Ho provato a impostare il tipo su stringa, ma ha trattato stringa come testo tipo.
perché hai registrato colonna COLB come bene?e cosa significa questo $ 1 in nvarchar ($ 1)? Grazie –
Questo è stato molto tempo fa e non riesco a ricordare, ma registerColumnType() associa i tipi SQL ai tipi di Hibernate. $ l (L, non # 1) è un modello di corrispondenza che rappresenta la lunghezza della colonna nvarchar. Se la colonna nvarchar ha una lunghezza definita, verrà mappata al tipo VARCHAR. Se la colonna nvarchar ha lunghezza massima, verrà mappata al tipo CLOB. – ampersandre
Si noti che per sql server 2014 ho dovuto * rimuovere * il metodo sovrascritto 'getTypeName' nel codice qui sopra !! – vikingsteve