
Originariamente inviata da
LeleFT
Come ho scritto, posta il codice dell'Entity... probabile che vi sia un altro errore: l'eccezione dice che potresti aver dichiarato quel campo come transient. Ma se non posti tutto il codice, difficilmente ti potremo aiutare.
Ciao.

codice:
package hibernate;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import org.hibernate.validator.NotNull;
@Entity
@Table(name = "Artista")
public class Artista {
public Artista (){
}
private long id ;
private String nome ;
private String cognome;
private String luogoDiNascita;
private int annoDiNascita ;
private String note ;
private List <MaterialeMultimedialeFilm> films ; // inteso film , telefilm
private List <MaterialeTestuale> testi ; // inteso libri pdf ect
//======METODI GETTER SETTER=======================
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public long getId (){
return id ;
}
public void setId (long id){
this.id= id ;
}
@Column(name = "nome" ,nullable = false)
public String getNome(){
return nome ;
}
public void setNome (String nome){
this.nome=nome;
}
@NotNull
@Column(name = "cognome")
public String getCognome(){
return cognome;
}
public void setCognome (String cognome){
this.cognome=cognome;
}
@Column(name = "luogoDiNascita" ,nullable = true)
public String getLuogoDiNascita(){
return luogoDiNascita;
}
public void setLuogoDiNascita (String luogoDiNascita){
this.luogoDiNascita=luogoDiNascita;
}
@Column(name = "note" ,nullable = true)
public String getNote (){
return note ;
}
public void setNote (String note){
this.note=note;
}
@Column(name = "annoDiNascita" ,nullable = true)
public int getAnnoDiNascita (){
return annoDiNascita ;
}
public void setAnnoDiNascita (int annoDiNascita){
this.annoDiNascita= annoDiNascita;
}
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "film_attori", joinColumns = {
@JoinColumn(name = "attoreId", referencedColumnName ="id") },
inverseJoinColumns = { @JoinColumn(name = "filmId",
referencedColumnName ="id") })
public List <MaterialeMultimedialeFilm> getFilms (){
return films;
}
public void setFilms(List <MaterialeMultimedialeFilm> films){
this.films=films;
}
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "testi_autori", joinColumns = {
@JoinColumn(name = "autoreId", referencedColumnName ="id") },
inverseJoinColumns = { @JoinColumn(name = "testoId",
referencedColumnName ="id") })
public List <MaterialeTestuale> getTesti (){
return testi;
}
public void setTesti (List <MaterialeTestuale> testi){
this.testi=testi;
}
}
ciao questo è il codice. Nessun campo è transient

ho provato sia con @NotNull che con nullable=false