ciao ecco
codice:Exception in thread "main" org.hibernate.PropertyValueException: not-null property references a null or transient value: hibernate.Artista.cognome at org.hibernate.engine.Nullability.checkNullability(Nullability.java:100) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:312) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129) at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:179) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:135) at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61) at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:808) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:782) at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:786) at test.test.main(test.java:52)
e le altre entita coinvolte
codice:package hibernate; import java.util.List; 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.ManyToMany; import javax.persistence.Table; @Entity @Table(name = "materialeMultimedialeFilm") public class MaterialeMultimedialeFilm { public MaterialeMultimedialeFilm () { } //mysql non supporta il sequencegenerator private long id ; private String titolo ; private String regista ; private List <Artista> attori ; // inteso come scrittori-autori private int annoDiPubblicazione ; private int durata ; // in min private String formato ; // dvd,dvix,mpg private int valutazione ; private String genere ; private String doveSiTrova ; private String note ; //======METODI GETTER SETTER======================= @Column(name = "valutazione" ,nullable = true) public int getValutazione (){ return valutazione ; } public void setValutazione (int valutazione){ this.valutazione= valutazione ; } @Column(name = "note" ,nullable = true) public String getNote (){ return note ; } public void setNote (String note){ this.note=note; } @Column(name = "formato" ,nullable = false) public String getFormato (){ return formato ; } public void setFormato (String formato){ this.formato=formato; } @Column(name = "doveSiTrova" ,nullable = false) public String getDoveSiTrova (){ return doveSiTrova ; } public void setDoveSiTrova (String doveSiTrova){ this.doveSiTrova=doveSiTrova; } @Column(name = "annoDiPubblicazione" ,nullable = false) public int getAnnoDiPubblicazione (){ return annoDiPubblicazione ; } public void setAnnoDiPubblicazione (int annoDiPubblicazione){ this.annoDiPubblicazione= annoDiPubblicazione ; } @Column(name = "durata" ,nullable = false) public int getDurata (){ return durata ; } public void setDurata (int durata){ this.durata=durata ; } @Column(name = "titolo" ,nullable = false) public String getTitolo (){ return titolo ; } public void setTitolo (String titolo){ this.titolo=titolo; } @Id @GeneratedValue(strategy=GenerationType.AUTO) public long getId (){ return id ; } public void setId (long id){ this.id= id ; } @Column(name = "regista" ,nullable = true) public String getRegista (){ return regista ; } public void setRegista (String regista){ this.regista=regista; } @Column(name = "genere" ,nullable = false) public String getGenere (){ return genere; } public void setGenere (String genere){ this.genere=genere; } @ManyToMany(fetch = FetchType.LAZY) public List <Artista> getAttori (){ return attori; } public void setAttori (List <Artista> attori ){ this.attori=attori; } }
codice:package hibernate; import java.util.List; 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.ManyToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; @Entity @Table(name = "materialeTestuale", uniqueConstraints = { @UniqueConstraint(columnNames = {"titolo" , "annoDiPubblicazione"} ) } ) public class MaterialeTestuale { public MaterialeTestuale (){ } //mysql non supporta il sequencegenerator private long id ; private String titolo ; private String genere ; private int valutazione ; private int numeroPagine ; private String doveSiTrova ; private int annoDiPubblicazione; private String casaEditrice; private List <Artista> artisti ; // inteso come scrittori-autori private String formato ; // pdf ,carta,ect private String note ; //======METODI GETTER SETTER======================= @Column(name = "titolo" ,nullable = false) public String getTitolo (){ return titolo ; } public void setTitolo (String titolo){ this.titolo=titolo; } @Id @GeneratedValue(strategy=GenerationType.AUTO) public long getId (){ return id ; } public void setId (long id){ this.id= id ; } @Column(name = "note" ,nullable = true) public String getNote (){ return note ; } public void setNote (String note){ this.note=note; } @Column(name = "valutazione" ,nullable = true) public int getValutazione (){ return valutazione ; } public void setValutazione (int valutazione){ this.valutazione= valutazione ; } @Column(name = "numeroPagine" ,nullable = false) public int getNumeroPagine (){ return numeroPagine ; } public void setNumeroPagine (int numeroPagine){ this.numeroPagine= numeroPagine ; } @Column(name = "annoDiPubblicazione" ,nullable = false) public int getAnnoDiPubblicazione (){ return annoDiPubblicazione ; } public void setAnnoDiPubblicazione (int annoDiPubblicazione){ this.annoDiPubblicazione= annoDiPubblicazione ; } @Column(name = "casaEditrice" ,nullable = true) public String getCasaEditrice (){ return casaEditrice ; } public void setCasaEditrice (String casaEditrice){ this.casaEditrice=casaEditrice; } @Column(name = "doveSiTrova" ,nullable = false) public String getDoveSiTrova (){ return doveSiTrova ; } public void setDoveSiTrova (String doveSiTrova){ this.doveSiTrova=doveSiTrova; } @Column(name = "formato" ,nullable = false) public String getFormato (){ return formato ; } public void setFormato (String formato){ this.formato=formato; } @Column(name = "genere" ,nullable = false) public String getGenere (){ return genere; } public void setGenere (String genere){ this.genere=genere; } @ManyToMany(fetch = FetchType.LAZY) public List <Artista> getArtisti (){ return artisti; } public void setArtisti (List <Artista> artisti ){ this.artisti=artisti; } }

Rispondi quotando