Hibernate one-to-one, Aucune ligne avec l'identificateur donné n'existe Exception
J'ai besoin d'un lien entre deux entités, donc j'utilise un un-à-un
@Entity
@Table(name = "T_USER")
public class User implements Serializable {
@Id
@Column(name = "user_id")
private int userId;
@Column(name = "login")
private String login;
@OneToOne(optional = true)
@JoinColumn(name="login", referencedColumnName="person_id", nullable = true, insertable = false, updatable = false)
private Person person;
}
@Entity
@Table(name = "T_PERSON")
public class Person implements Serializable {
@Id
@Column(name = "person_id")
private String personId;
@Column(name = "pin")
private String pin;
}
Si il n'y a aucun élément pour une PERSONNE en particulier dans la table T_USER, de l'utilisateur.getPerson jeter une exception:
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [packagename.com.entity.Person#scabriou]
Mais Si j'ai de référence entre les 2 tables de la db, de la lecture des travaux!
source d'informationauteur BasicCoder
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas dire si ce la meilleure solution, mais vous pouvez utiliser le
@NotFound
annotation. E. g.Je crois que personne restera
null
et l'exception ne sera pas levée.