2015-07-30 3 views
1

У меня есть веб-приложение, в котором мне нужно вставлять данные в базу данных, используя спящий режим для нескольких функций.Обрезать пробелы перед вставками базы данных

Однако я забыл обрезать пробелы при вставке сейчас, я хочу, чтобы все будущие вставки базы данных выполнялись после обрезки пробелов. каков наилучший способ сделать это во всех классах контроллера (я использую Spring mvc).

Мне нужно понять подход.

Благодаря

+0

хорошо, у вас есть много вариантов, вы можете использовать триггеры в базе данных для каждой таблицы или добавлять методы '@ PrePersist' и/или' @ PreUpdate' к вашим объектам или ev ru измените 'seters' (я бы так не сделал) в entites, например: this.x = trim (x); https://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/listeners.html –

ответ

0

Потому что вы, вероятно, использовать сеттеры в любом случае вы можете написать свои сеттеры так:

public void setName(String name) { 
    this.name = (name != null) ? name.trim() : null; 
} 
1

Взгляните на StringTrimmerEditor упоминалось в Spring Validation, Data Binding and Type Conversion и добавить в контроллер код что-то вроде этого:

@InitBinder 
public void initBinder(WebDataBinder binder) { 
    binder.registerCustomEditor(String.class, new StringTrimmerEditor(true)); 
} 
+0

Кто-то предложил подход AOP. Но я не знаю, как именно я должен использовать его? – fiddle

+0

Почему downvote - нет комментариев никто не узнает что-то? –

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