0
我得到這個錯誤列'idEscala'不能爲空當我嘗試保存valoracio。但是我已經擁有Escala的id了。爲什麼在嘗試保存時檢測到idEscala爲空?
這是什麼錯誤?
方法保存valoracio
public Valoracio createValoracio(Escala escala, long idResident, long idUser) {
logger.info("----------------initValoracio escala: " + escala);
Valoracio valoracio = new Valoracio(escala, idResident, idUser);
logger.info("----------------initValoracio valoracio: " + valoracio);
preguntes = escalaPreguntaMgr.findByEscalaId(escala.getId());
logger.info("----------------initValoracio num(" + preguntes.size() + ") pregunta: " + preguntes.get(0));
ValoracioItem vitem = new ValoracioItem(valoracio, preguntes.get(0));
vitem.setPregunta(preguntes.get(0));
valoracio.addValoracioItem(vitem);
logger.info("----------------initValoracio before save valoracio(idEscala): " + valoracio.getEscala().getId());
logger.info("----------------initValoracio before save vitem: " + vitem);
valoracioMgr.save(valoracio);
return valoracio;
}
Valoracio實體
@Entity
@Table(name = "t_valoracio")
public class Valoracio extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@Basic(optional = false)
@JoinColumn(name = "idEscala", referencedColumnName = "id")
private Escala escala;
Escala的實體
@Entity
@Table(name = "a_escala")
public class Escala extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "escala")
private Collection<Valoracio> valoracions = new HashSet();
EscalaManager方法
public Escala save(Escala escala) {
return this.em.merge(escala);
}
錯誤
11:11:47,557 INFO [stdout] (default task-71) Hibernate:
11:11:47,557 INFO [stdout] (default task-71) /* insert es.imas.gestresi.business.pia.entity.Valoracio
11:11:47,557 INFO [stdout] (default task-71) */ insert
11:11:47,557 INFO [stdout] (default task-71) into
11:11:47,557 INFO [stdout] (default task-71) t_valoracio
11:11:47,557 INFO [stdout] (default task-71) (dataAlta, idEscala, idResidentKronos, idUser, observacio, version)
11:11:47,557 INFO [stdout] (default task-71) values
11:11:47,557 INFO [stdout] (default task-71) (?, ?, ?, ?, ?, ?)
11:11:47,558 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-71) SQL Error: 1048, SQLState: 23000
11:11:47,558 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-71) Column 'idEscala' cannot be null