Я хочу создать ссылку на класс Publication
.
Достаточно ли комментировать Список публикаций с помощью @XmlIDREF
?
Нет, это только половина того, что вам нужно.
У вас уже есть это:
С помощью @XmlIDREF
вы отмечаете ссылку на сторону отношения
(указывая от Author
до Publication
).
public class Author {
...
@XmlIDREF
@XmlElement(name = "publication")
public List<Publication> getPublications() {
return publications;
}
...
}
Вам также необходимо отметить сторону , на которую ссылаются (сама Publication
)
пометив одно из его свойств с помощью @XmlID
, например, так:
public class Publication {
...
@XmlID
@XmlElement
public String getId() {
return id;
}
...
}
Затем вы можете обрабатывать содержимое XML, как в следующем примере:
<root>
<publication>
<id>p-101</id>
<title>Death on the Nile</title>
</publication>
<publication>
<id>p-102</id>
<title>The murder of Roger Ackroyd</title>
</publication>
...
<author>
<id>a-42</id>
<name>Agatha Christie</name>
<publication>p-101</publication>
<publication>p-102</publication>
</author>
...
</root>
Видите ли, ссылки на XML (например, <publication>p-101</publication>
)
отображаются на ссылки на объекты Java (в List<Publication> publications
).