2015-02-21 2 views
2

Инструмент Hibernate (для Eclipse) обратного проектирования генерирует POJO с полями справки. Как игнорировать отношение БД? Например,Спящий режим: как игнорировать внешние ключи?

class User { 
private City city; 
... 
} 

Я хочу получить

class User{ 
private Integer cityId; 
... 
} 
+0

Какие инструменты? Вы можете запрограммировать вручную? Почему вы не хотите отношений? – farrellmr

+0

Я имею в виду [Спящий режим для Eclipse] (http://hibernate.org/tools/). Таблиц на БД слишком много, я не могу закодировать вручную каждый объект. Мне не нужны отношения, потому что объекты будут храниться в кеше. – Satmurat

+0

Попросите его не обнаруживать одно-много или много-много в окне конфигурации – farrellmr

ответ

1

Наконец, я нашел ответ на мой вопрос. Я создал класс стратегии обратного проектирования и переопределял некоторые методы:


public class RevengStrategy extends DelegatingReverseEngineeringStrategy { 

    public RevengStrategy(ReverseEngineeringStrategy delegate) { 
     super(delegate); 
    } 

    @Override 
    public boolean excludeForeignKeyAsManytoOne(String keyname, TableIdentifier fromTable, List fromColumns, TableIdentifier referencedTable, List referencedColumns) { 
     return true; 
    } 

    @Override 
    public boolean excludeForeignKeyAsCollection(String keyname, TableIdentifier fromTable, List fromColumns, TableIdentifier referencedTable, List referencedColumns) { 
     return true; 
    } 

}