Hibernate один-к-одному: AnnotationException Ссылочное свойство не является (One|Many)ToOne
Я сделал свой код, как это было сделано в примерах в Google. Я пытался установить личные отношения. Но я получаю сообщение об ошибке: AnnotationException Ссылочное свойство не является (One|Many)ToOne
Вопрос: что не так?
@Entity
@Table(name = "filesInfo")
@Inheritance(strategy= InheritanceType.JOINED)
public class FileInfo {
@Id
@SequenceGenerator(name = "file_info_sequence", sequenceName = "sq_file_info")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "file_info_sequence")
@Column(name = "id")
private long fileID;
@JsonIgnore
@OneToOne(mappedBy="fileInfo", cascade=CascadeType.ALL, fetch = FetchType.LAZY)
private FileContent fileContent;
//......
}
@Entity
@Table(name="file_content")
public class FileContent{
@Id
@Column(name="id", unique=true, nullable=false)
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign", parameters=@Parameter(name="property", value="fileInfo"))
private long fileID;
@JsonIgnore
@PrimaryKeyJoinColumn
private FileInfo fileInfo;
//....
}
Ошибка:java.lang.IllegalStateException: не удалось загрузить ApplicationContext
Вызвано: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'sessionFactory', определенным в URL [file:src/test/resources/applicationContextTest.xml]: сбой вызова метода init; вложенное исключение: org.hibernate.AnnotationException: указанное свойство не является (One|Many)ToOne: FileContent.fileInfo в mappedBy файла FileInfo.fileContent
Вызывается: org.hibernate.AnnotationException: Ссылочное свойство не является (One|Many)ToOne: FileContent.fileInfo в mappedBy из FileInfo.fileContent
.......
1 ответ
Ответ заключается в добавлении аннотации @OneToOne в поле FileContent.fileInfo.