Двунаправленный @ Любые отношения - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь добиться двунаправленных @Any-отношений, но сталкиваюсь с множеством камней преткновения

public interface Noteable {
    // using this interface to link different classes together that have the ability to attach notes to
    public List<Note> getNotes();
    public void setNotes(List<Note> notes);
}

public class Quote implements Noteable {
    @Id
    private long id;        

    // is there a way to make this a persistable relationship such as
    // @OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL, mappedBy="owner")
    private List<Note> notes;
}

public class Person implements Noteable {
    @Id
    private long id;

    // similar to Quote
    private List<Note> notes;
}

public class Note {
    @Id
    private long id;

    @Any(metaDef="MyMetaDef", metaColumn=@Column(name="owner_type")
    @JoinColumn("owner_id")
    private Noteable owner;
}

Приведенный выше код позволит мне создать новую заметку, прикрепить владельца исохранить новую заметку.То, что я хотел бы также сделать, это создать новую заметку, добавить ее в Quote.notes, и когда она будет сохранена, она также сохранит новые заметки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...