Hibernate one-to-one: AnnotationException Ссылочное свойство не (One|Many)ToOne

Я сделал свой код, как это было сделано в примерах в Google. Я пытался установить отношения один на один. Но я получаю сообщение об ошибке: свойство AnnotationException Referenced не является (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: ошибка при создании bean-компонента с именем «sessionFactory», определенным в URL-адресе [file:src/test/resources/applicationContextTest.xml]: не удалось вызвать метод инициализации. ; вложенным исключением является org.hibernate.AnnotationException: Ссылочное свойство не (One|Many)ToOne: FileContent.fileInfo в mappedBy FileInfo.fileContent

Вызвано: org.hibernate.AnnotationException: Ссылочное свойство не является (One|Many)ToOne: FileContent.fileInfo в mappedBy FileInfo.fileContent

.......


person VB_    schedule 31.07.2013    source источник


Ответы (1)


Ответ заключается в том, чтобы добавить аннотацию @OneToOne в поле FileContent.fileInfo.

person VB_    schedule 31.07.2013