Ayuda con anotation
"esmeralda987" <esmeralda987-/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Hola, hace poco tiempo que estoy trabajando con anotation en java y
me surgio el siguiente problema, haber si me pueden ayudar.
Tengo las siguientes tablas (los campos con * son parte de la clave
primaria)
Empresa
--------
*Codigo
Descripcion.
Deposito
--------
*Cod_Emp (Referencia a Empresa)
*Codigo
Descripcion
Sucursal
--------
*Cod_Emp (Referencia a Empresa)
*Codigo
Descripcion
Orden
------
*Cod_Emp
*Cod_Suc
(Ambos campos hacen referencia a Sucursal)
*Codigo
Cod_Deposito
(Junto con el campo Cod_Emp hace referencia a Deposito)
El problema me surgue a la hora de querer guardar una orden; si no
asigno nada al campo Cod_Deposito (que de hecho no es obligatorio) no
se me guarda la orden, en cambio, si asigno un deposito la orden se
guarda correctamente. Esto me hace pensar que con los anotation estoy
indicando que el campo es obligatorio. Mi codigo es el siguiente:
En Orden.java
------------
@Id
@Column(nullable = false)
private Long codigo;
@Id
@Column(name="COD_EMP", nullable = false, insertable = false,
updatable = false)
private Long codEmp;
@Id
@Column(name="COD_SUC", nullable = false, insertable = false,
updatable = false)
private Long codSuc;
@ManyToOne
@JoinColumns( {
@JoinColumn(name = "COD_EMP", referencedColumnName
= "COD_EMP", nullable = false),
@JoinColumn(name = "COD_SUC", referencedColumnName
= "CODIGO", nullable = false)}
)
private Sucursal sucursal;
@Column(name="COD_DEPOSITO", insertable = false, updatable =
false)
private Long codDeposito;
@ManyToOne
@JoinColumns({
@JoinColumn(name = "COD_EMP", referencedColumnName
= "COD_EMP", insertable = false, updatable = false),
@JoinColumn(name = "COD_DEPOSITO",
referencedColumnName = "CODIGO")}
)
private Deposito deposito;
Alguien me podria orientar sobre los anotation que ultilice y si
estan en forma correcta?
Gracias por su ayuda!
Mariela