Я пытаюсь настроить классы JPA для следующих требований: PKJPA вложенного композиционный PK
Писателя класса/стол с ПК из [Long ид], например [ 1], [2], [3] ...
Книга класса/таблицы с составным PK из [Writer Long ид и Long индекса] (при этом каждый автор имеет свои собственные книги индексов), например, [1, 1], [1, 2], [1, 3] (три книги для записи 1), [2, 1], [2, 2], [2, 3], [2, 4] (четыре книги для писателя № 2) ...
A Страница класс/стол с композитным PK [Writer Long id, Book Long index и Long number] (таким образом, каждая книга имеет собственные номера страниц), например [1, 1, 1], [1, 1, 2], [1 , 1, 3], [1, 1, 4], [1, 1, 5] (пять страниц для писателя # 1 и его книга индекс # 1) ...
Что мне нужно от Экземпляр книги должен иметь возможность вызвать book.getWriter() и получить экземпляр Writer; также, page.getBook() вернет экземпляр книги. Конечно, ВСЕ три класса могут легко иметь простой длинный ПК, а затем, например, книга будет иметь Writer как недействительную ассоциацию @ManyToOne за пределами ПК, но она не отвечает нашим потребностям.
Я исчерпал любой конфигурации, используя @Embedded (| Id), @Embeddable, @IdClass, @MapsId и т.д. Я мог думать или гугле, но Hibernate всегда будет жаловаться в одну сторону или другую сторону, особенно об Страница класс, в котором вещи «вложен». В идеале, более поздний Класс класс/таблица с составным PK [Writer Long id, Book Long index, Страница Long number и Long paragraph index] также должен быть настроен аналогично.
Надеюсь, у кого-то есть хорошие намеки об этом.
Спасибо!