Я использую Hibernate tools 3.40 в Eclipse (Helios). Я пытаюсь сгенерировать POJO из моей БД (MSSQL 2008) в стиле EJB3 (т.е. аннотации JPA2.0).
Допустим, у меня есть две таблицы A
и B
, где есть внешний ключ от A
до B
.
Это генерирует по умолчанию POJO для A
, в котором B
является членом (его «родителем»), и POJO для B
, в котором Set<A>
является членом (его «дочерними элементами»).
Что мне нужно? заключается в том, чтобы знать, как я могу контролировать rev-eng, чтобы создавалась только одна сторона ассоциации (у меня разные варианты использования, поэтому в основном для меня важны все три варианта).
Я не хочу использовать hbm.xml файлы, поскольку я работаю с аннотациями и JPA2.0, но я могу указать некоторые метаданные в процессе обратного проектирования для перехода в спящий режим через hibernae.reveng.xml
Я попытался настроить атрибут foreign-key
и определить там exclude=true
, но это дало мне только половину ответа для одного сценария. Это сгенерировало A
POJO с членом bPK int, что допустимо и понятно, но сгенерированный POJO B
теперь не компилируется, так как аннотация one-to-many
имеет недопустимый атрибут; mappedby="unresolved"
из-за того, что A
больше не имеет свойства, на которое можно сопоставить hibernate reveng.
Итак, в настоящее время я не могу создавать однонаправленные ассоциации, и я был бы признателен за любую помощь.