У меня есть два класса, которые должны отображаться в формате XML (в конечном итоге все они будут изменены на Аннотации, но в настоящее время нам необходимо поддерживать сопоставления XML).
У меня есть объект User, который в настоящее время выглядит следующим образом:
public class User {
private Key key;
private Name name;
}
Мне нужно добавить в Настройки для некоторых этих пользователей (у нас есть два разных типа пользователей, которые совместно используют один и тот же объект).
public class Preferences {
private Person person; //The person key acts as our foreign and primary key
private Integer numToShow;
private String defaultScreenToShow;
}
Мой личный XML таков:
<hibernate-mapping package="com.example.entities">
<id key column="PERSON_ID" /> <!-- Leaving out custom generator -->
<!--
Not sure what the column needs to be here, as
preferences are in own table. Also read it has to
be a faked out many-to-one here as not all users will
have preferences.
-->
<many-to-one name="preferences" not-null="false" />
<component class="com.example.entities.Name">
<property column="first_name" name="first" />
<property column="last_name" name="last" />
</component>
</hibernate-mapping>
XML-файл моих настроек таков:
<hibernate-mapping package="com.example.entities">
<property column="default_screen" name="defaultScreenToShow" />
<property column="number_search_results" name="numToShow" />
<!-- Not sure what the ID needs to be here -->
</hibernate-mapping>
Я довольно зеленый с Hibernate, если честно, но это кажется чем-то, что должно быть довольно легко отобразить. Я думал, что у меня все отображения сделаны правильно, но я получаю исключение десериализации при попытке загрузить человека ( Я пометил классы как Сериализуемые - безрезультатно).