Bonjour à tous !

Je me mets tout doucement à Hibernate...

Voici mon problème : j'ai 2 objets User et UserPreferences, ainsi que 2 tables user et user_preferences.

Voici mes tables :
  • user
    • id
    • id_preference
  • user_preference
    • id_user


user.id_preference est une clé étrangère pointant sur user_preferences.id.
C'est une relation 1-1, et user.id est auto-incrémenté.

Je voudrais configurer Hibernate pour que les clés soient identiques (user.id et user_preference.id_user soient identiques), mais j'obtiens une erreur lors de l'insertion :
"Field 'id_preference' doesn't have a default value"
Avez-vous déjà rencontré ce problème ??

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public class User {
 
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Integer id = 0;
 
	@OneToOne
	@JoinColumn(name="id_preference")
	private UserPreferences userPreferences;}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
@Entity
@Table(name="user_preference")
public class UserPreferences {
	@Id
	@Column(name="id_user")
	private int idUser = 0;
}