Supponiamo semplificando di avere una tabella
(table1)
ID - nome
dove id è autoincrement
Una seconda tabella dove
(table2)
suoID - blabla - ID
dove ovviamente ID è foreignkey di ID ( ONupdate, onDelete = CASCADE)
Ora usando netbeans io creo delle Entity Classes dal db.
E fin qua tutto ok.
Uno dei metodi di table1 che mi viene generato è :
bhè qua io associo la mia collection di oggetti di classe table2 ad un oggetto di classe table1 funziona tutto.Codice PHP:
public void setTable2Collection(Collection<Table2> table2Collection) {
this.table2Collection = table2Collection;
}
Ora..se io faccio bel PERSIST(oggettotable1) lui mi dice quando inserisce pure le righe nella table2 l'table2.ID non può essere nullo.
Ovvio! Viene generato da db!
Ho provasto a mettere
Ma non cambia un ciufolo.Codice PHP:@Id
-> @GeneratedValue
@Column(name = "ID", nullable = false)
private Integer id;
Cioè mi sembrerebbe brutto levare il foreign keys e farlo a mano facendo persistere l'oggetto della tabella1, e andando poi a leggere il suo id.
Ora so che sicuramente c'è modo.
Tra le altre cose non capisco perchè tra i metodi di table2 c'è :
Quindi non è più un integer, ma un oggetto...Codice PHP:public void setId(Table1 id) {
this.id = id;
}
Vabbè so che c'è un modo ma non riesco a trovarlo chiaramente in internet...
@PostPersist ?


Rispondi quotando