ho questo codice:Il campo lunghezza su javax.persistence @Column definisce max?
public class Item {
@Column(name = "serialNo", length = 12)
public String getSerialNo() {
return this.serialNo;
}
public void setSerialNo(String serialNo) {
this.serialNo = serialNo;
}
}
Tuttavia, lo schema del database definisce la colonna da lunghezza 13. Quando la voce viene recuperato tramite:
List<Item> items = getEntityManager().createNamedQuery(SQL).getResultList();
I dati che ha serialNo
caratteri pari a 13
(poiché lo schema della tabella db consente 13) vengono ancora visualizzati come 13, non troncati. A cosa serve poi lo @Column
length
?
È possibile incollare il collegamento alla documentazione a tale proposito? Questo collegamento non dice nulla sulla lunghezza utilizzata solo per DDL: http://docs.oracle.com/javaee/5/api/javax/persistence/Column.html#length() –
Sì, non è troppo specifico a riguardo. Guarda le specifiche (http://download.oracle.com/otndocs/jcp/persistence-2_1-fr-eval-spec/index.html - JavaPersistence.pdf), sezione 11.2.2.1. Questo è l'unico momento in cui menzionano 'length' nell'intero documento. – acdcjunior
Chiaramente menzionato relativo alla generazione dello schema: "11.2 Metadati oggetto/relazione utilizzati nella generazione dello schema". Grazie per la risposta. –