hibernar no insertando padre
Frecuentes
Visto 3,190 veces
0
I have two mapped class with hibernate:
SETTLEMENT_MODEL_GROUP (el padre):
@Entity
@Table(name = "MODEL_GROUP")
public class SettlementModelGroup
{
//omitted some not fields
@OneToMany( fetch = FetchType.LAZY, mappedBy = "modelGroup" )
private List<SettlementModel> settlementModels;
}
SETTLEMENT_MODEL childs:
@Entity
@Table(name = "MODEL")
public class SettlementModel
{
//omitted some not fields
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "MODEL_GROUP_ID", insertable = false, updatable = false, nullable = false)
private SettlementModelGroup modelGroup;
}
Now I'm doing simple insert into database:
SettlementModel model = new SettlementModel();
SettlementModelGroup settlementModelGroup = modelManager.getModelGroup( modelGroupId );
//setting other fields for model
model.setModelGroup( settlementModelGroup );
sessionFactory.getCurrentSession().save( model );
Me da:
SQL Error: 1400, SQLState: 23000
ORA-01400: cannot insetr NULL into ("MYSCHEMA"."MODEL"."MODEL_GROUP_ID")
Why is hibernate not inserting parent ID, although it exists and is created? Even giving it on standard output returns proper ID...
Moreover I cannot delete insertable = false, updatable = false
de SettlementModel cause it gives me Hibernate Error during deployment
2 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java hibernate hibernate-mapping or haz tu propia pregunta.
I think the actual question is why you cannot delete
insertable = false, updatable = false
. What error do you get? - axtavtI guess because I did not add
cascade = CascadeType.ALL
a@OneToMany
anotación - kamil