2012-11-13 14 views

risposta

47

se la colonna è varchar uso annotazione length

@Column(length = 255) 

o utilizzare un altro tipo di colonna

@Column(columnDefinition="TEXT") 
+0

'tipo non trovato o utente privo di privilegi: TEXT' – xedo

+2

' columnDefinition' dipende da DB ciò che funziona in PostgreSQL potrebbe non funzionare in MySQL, vedere questa domanda SO: http://stackoverflow.com/questions/16414215/jpa-how- to-set-string-column-to-varcharmax-in-ddl – csharpfolk

0

Utilizzare l'annotazione @Column e definirne l'attributo length. Controllare la documentazione Hibernate per riferimenti (sezione 2.2.2.3).

0

È necessario modificare la vostra tavola. Aumentare la larghezza della colonna utilizzando un'istruzione DDL.

Si prega di consultare qui

http://dba-oracle.com/t_alter_table_modify_column_syntax_example.htm 
+1

Il comando potrebbe essere lo stesso ma confonde il fatto che la pagina sia per Oracle mentre l'OP ha menzionato MySQL – madth3

1

È possibile utilizzare Length annotazioni per una colonna. Usandolo puoi massimizzare o minimizzare la lunghezza della colonna. L'annotazione della lunghezza può essere utilizzata solo per le stringhe.

@Column (name = "NAME", nullable = false, lunghezza = 50) @Length (max = 50)

public String getName() { 
    return this.name; 
} 
4

@Column (name = Columns.COLUMN_NAME, ColumnDefinition = "NVARCHAR (mAX)")

max indica che la dimensione massima di archiviazione è di 2^31-1 byte (2 GB)

+0

Funziona solo in SQL Server, PostgreSQL non ha NVARCHAR (MAX). Utilizza invece l'annotazione @Lob come risposta in: http://stackoverflow.com/questions/16414215/jpa-how-to-set-string-column-to-varcharmax-in-ddl per ottenere un tipo di carattere variabile di lunghezza illimitata – csharpfolk

Problemi correlati