java - ORA-01400 cannot insert null error in one to one relationship -
i have code
public void guardaraspirante(aspirantedto aspirantedto) { aspirante aspirante = new aspirante(); string usuariomovimiento = aspirantecn.class.getsimplename(); date fecha = new date(); aspirante.setcodigoalumno(aspirantedto.getcodigouniversitario()); aspirante.setnombre(aspirantedto.getnombre()); aspirante.setapellidopaterno(aspirantedto.getprimerapellido()); aspirante.setapellidomaterno(aspirantedto.getsegundoapellido()); aspirante.setusuariomovimiento(usuariomovimiento); aspirante.setfechamovimiento(fecha); solicitud solicitud = new solicitud(aspirante.getsolicitudid()); solicitud.setaspirante(aspirante); solicitud.setsolicitudid(aspirante.getsolicitudid()); solicitud.setofertaid(aspirantedto.getofertaacademica()); solicitud.setperiodoid(aspirantedto.getperiodo()); solicitud.setaportacion(aspirantedto.getaportacionvoluntaria()); solicitud.setfechamovimiento(fecha); solicitud.setusuariomovimiento(usuariomovimiento); aspirante.setsolicitud(solicitud); .... aspirantedao.persist(aspirante);
}
and error
internal exception: java.sql.sqlexception: ora-01400: cannot insert null ("rpingre"."are_soli"."are_soli_soliaspi_id")
this aspirante
entity (fragment)
@entity @table(name = "are_soliaspi", catalog = "", schema = "rpingre") public class aspirante implements serializable { private static final long serialversionuid = 1l; @sequencegenerator(sequencename = "rpingre.sq_are_soliaspi", name = "rpingre.sq_are_soliaspi", initialvalue = 1, allocationsize = 1) @generatedvalue(strategy = generationtype.sequence, generator = "rpingre.sq_are_soliaspi") @id @basic(optional = false) @column(name = "are_soliaspi_id") private long solicitudid; @basic(optional = false) @column(name = "are_soliaspi_codigo") private string codigoalumno; @basic(optional = false) @column(name = "are_soliaspi_nombre") private string nombre; @column(name = "are_soliaspi_ape_paterno") private string apellidopaterno; @column(name = "are_soliaspi_ape_materno") private string apellidomaterno; @basic(optional = false) @column(name = "are_soliaspi_mov_usuario") private string usuariomovimiento; @basic(optional = false) @column(name = "are_soliaspi_mov_fecha") @temporal(temporaltype.timestamp) private date fechamovimiento; @onetoone(cascade = cascadetype.all, mappedby = "aspirante", fetch = fetchtype.lazy) private solicitud solicitud;
and solicitud
entity (fragment)
@entity @table(name = "are_soli", catalog = "", schema = "rpingre") public class solicitud implements serializable { private static final long serialversionuid = 1l; @id @basic(optional = false) @column(name = "are_soli_soliaspi_id") private long solicitudid; @basic(optional = false) @column(name = "are_soli_mov_usuario") private string usuariomovimiento; @basic(optional = false) @column(name = "are_soli_mov_fecha") @temporal(temporaltype.timestamp) private date fechamovimiento; @column(name = "are_soli_periodo_id") private string periodoid; @column(name = "are_soli_oferta_id") private long ofertaid; @column(name = "are_soli_aportacion") private long aportacion; @joincolumn(name = "are_soli_soliaspi_id", referencedcolumnname = "are_soliaspi_id", insertable = false, updatable = false, nullable = false) @onetoone(optional = false, fetch = fetchtype.lazy) private aspirante aspirante; ..... }
the ora-01400 error says trying insert null column defined not null. suggest ether set default value on column or have code make sure not null columns have data before insert (or use nvl function in insert statement)
Comments
Post a Comment