Я боюсь, что это, возможно, было задано раньше, но я либо не нахожу, либо не понимаю ответ на подобные вопросы.JPA OneToOne отношение автоматическое создание
У меня есть этот один стол Offerte
@Entity
public class Offerte extends BaseEntity{
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="dossier")
@GeneratedValue(strategy = GenerationType.AUTO)
@NotNull
private Dossier dossier;
То есть соединение OneToOne к столу досье и на создание Offerte я хочу, чтобы автоматически досье создано.
@Entity
public class Dossier extends BaseEntity{
@OneToOne(fetch=FetchType.LAZY, mappedBy="dossier")
@NotNull
private Offerte offerte;
Я пытался сделать это с generationtype авто, но я продолжаю получаю нарушение
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='may not be null',
Можно ли сделать эти отношения автоматически действуют?
EDIT
предложили реки ява решения
@Entity
public class Offerte extends BaseEntity{
@OneToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="dossier")
@NotNull
private Dossier dossier = new Dossier();
дает следующее сообщение об ошибке
javax.validation.ConstraintViolationException: Validation failed for classes [be.ugent.lca.data.entities.Dossier] during persist time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
ConstraintViolationImpl{interpolatedMessage='may not be null', propertyPath=offerte, rootBeanClass=class be.ugent.lca.data.entities.Dossier, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]
Не могли бы вы описать связанных таблиц с именами столбцов? –
Как вы имеете в виду именно то, что @Column (name = "dossier, ... annotation ?, потому что это не было разрешено с отношением @OneToOne. Также имена двух столбцов для этих отношений - только досье и предложение – turoni
GeneratedValue является незаконным в поле отношения ... это для Long, Integer, String и т. д. –