Проблема в том, что база данных слишком медленная, поэтому JSF, по-видимому, отображает страницу раньше, чем она есть в базе данных (таким образом, отображаются только старые, уже существующие). Как я могу заставить JSF дождаться, пока база данных завершит запись значений?
Это, честно говоря, не имеет смысла. JSF просто выполняет ту работу, о которой вы сказали, в методе действия компонента. Очевидно, вы не перезагружаете список из БД после сохранения. Возможно, вы имеете в виду, что обновленный элемент виден только при обновлении страницы, так что запускается новый запрос GET, который перезагружает данные из БД.
Канонический подход - просто перезагрузить данные из БД сразу после сохранения.
public void save() {
someService.save(some); // Save item in DB.
list = someService.list(); // Reload list from DB.
}