2012-06-27 2 views
3

У меня есть веб-служба Spring roo, которую я сейчас создаю, но у меня есть объект, который содержит поле, которое не должно быть включено в базу данных.Игнорировать поле из базы данных Spring Roo

Я хотел бы, чтобы поле было в сущности и распечатало его с помощью JSON для строковых методов, но мне не нужно, чтобы это значение было сохранено. Есть ли какие-либо аннотации или взлома, чтобы это произошло?

ответ

2

Spring Roo использует JPA для настойчивости. Вы хотите, чтобы отметить поле @Transient:

@RooJavaBean 
@RooEntity 
class MyEntity { 

    private String column1; 

    @Transient 
    private String ignoreMe; // Ignore this field in JPA 

} 

Вы можете также использовать ту же аннотацию для боба методы, которые могли бы быть отображенной:

@RooJavaBean 
@RooEntity 
class MyEntity { 

    private String column1; 

    @Transient 
    private String getAsJSON() { 
     return JSONHelper.toJSON(column1); 
    } 

} 
+0

Вы знаете что-нибудь об этой ошибке: – user1454308

+0

Bean Validation Ограничения (ограничения), нарушаемые при выполнении автоматической проверки бина в событии обратного вызова: 'prePersist' – user1454308

+0

Эта ошибка означает, что у вас, вероятно, есть JavaBean с ограничением, которое не соблюдается. Поймайте «ConstraintViolationException», которое выбрано, и проверьте содержимое 'getConstraintViolations()'. Ошибка не должна быть связана с решением, которое я опубликовал выше. – seanhodges

Смежные вопросы