Привет всем.
Сталкнулся с такой проблемой... есть два Entity, которые связаны один-к-одному. Мне нужно, чтобы при создании одного бина автоматически создавался и второй. Внёс кое-какие изменения в код, но это не помогло...
объясните, плиз, в чём проблема ?
(по-прежнему, при создании Owner , Rights устанавливается в Null , то есть не создаётся....)
@Entity
public class Owner implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
private Rights rights;
...
...
}
//--------------------------------------------------------------
//--------------------------------------------------------------
@Entity
public class Rights implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
...
...
}
Здравствуйте, ALER_PROG, Вы писали:
ALE>Привет всем.
ALE>Сталкнулся с такой проблемой... есть два Entity, которые связаны один-к-одному. Мне нужно, чтобы при создании одного бина автоматически создавался и второй.
Так и создавайте его в конструкторе. Или просто
@Entity
public class Owner implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn
private Rights rights = new Rights();
}
CascadeType относится к только к добавлению/удалению из базы. Сам он объекты создавать не будет.
Здравствуйте, RomikT, Вы писали:
RT>Здравствуйте, ALER_PROG, Вы писали:
ALE>>Привет всем.
ALE>>Сталкнулся с такой проблемой... есть два Entity, которые связаны один-к-одному. Мне нужно, чтобы при создании одного бина автоматически создавался и второй.
RT>Так и создавайте его в конструкторе. Или просто
RT>RT>@Entity
RT>public class Owner implements Serializable
RT>{
RT> @Id
RT> @GeneratedValue(strategy = GenerationType.AUTO)
RT> private Long id;
RT> @OneToOne(cascade = CascadeType.ALL)
RT> @PrimaryKeyJoinColumn
RT> private Rights rights = new Rights();
RT>}
RT>
RT>CascadeType относится к только к добавлению/удалению из базы. Сам он объекты создавать не будет.
Да, спасибо
Единственное, я несовсем корректно использовал @PrimaryKeyJoinColumn (нужно указать конкретное поле — FK)
Так что достаточно указать @OneToOne(cascade = CascadeType.ALL), ну и создать сам объект, что , собственно я и не делал...