Я перенес приложение из полнофункционального Hibernate на приложение JPA / Hibernate, и у меня возникла проблема с отображением JPA.
Нам удалось использовать orm.xml для сопоставления наших объектов. Все работало нормально, пока мне не пришлось иметь дело с коллекцией элементов.
На самом деле, у меня есть объект с именем Пользователь , который имеет встроенную карту (коллекция карт называется предпочтения ). Итак, у нас есть что-то вроде этого:
public class User {
private Long id;
private Map<String, String> preferences;
}
В нашей полностью спящей версии генерируется таблица PREFERENCE (ID, имя, значение). Но когда мы попытались перенести его в JPA, мы использовали следующее отображение:
<element-collection name="preferences" target-class="java.lang.String" fetch="LAZY">
<map-key-class class="java.lang.String" />
<map-key-column name="[name]" />
<column name="[value]" />
<collection-table name="PREFERENCE">
<join-column name="ID" />
</collection-table>
</element-collection>
и создается новая User_Preferences таблица. Несмотря на то, что я указал атрибут name = 'PREFERENCES' в конфигурации xml, Я не могу заставить коллекцию элементов указывать на существующую таблицу PREFERENCES .
Вы когда-нибудь сталкивались с такой ситуацией?
Любая помощь будет принята с благодарностью.
Большое спасибо, парень,