Estoy trabajando con Hibernate y JPA. Tengo una entidad llamada Customer
que hace referencia a un ParentCustomer
:Objeto nulo si no se encuentra la entidad
public class Customer {
@Id
@GeneratedValue
@Column(name = "CustomerID")
private int id;
@ManyToOne
@JoinColumn(name = "ParentCustomerID")
private Customer parent;
// ...
}
Pero en mi db hay algunos clientes que no tienen padres por lo que el ParentCustomerID
se establece en 0
. La excepción consigo cuando pruebo mi clase es:
javax.persistence.EntityNotFoundException: Unable to find it.keyforup.pat.data.entities.Customer with id 0
¿Hay una manera de establecer el ParentCustomer
a null
cuando id es 0
?
por qué dices 0? Si desea que la entidad sea 'nula', entonces el valor de la clave externa debe ser' nulo'. –
Estoy trabajando en un db utilizado por una aplicación de un tercero, esta aplicación establece el ID padre en 0 cuando no hay un padre para un cliente ... así que me aseguraría de que cada vez que el padre no se encuentre el 'padre' 'propiedad se establece en nulo. – davioooh
Sin embargo, este no es un comportamiento legítimo de la base de datos. Además, si se implicó la validación estricta de la restricción de la base de datos, ni siquiera podían hacer eso ... –