Я закончил тем, что создал новый комплект, CustomTranslationsBundle, где мой клиент может размещать свои пользовательские файлы перевода, не влияя на контроль версий.
Довольно простой, и я должен был подумать об этом, прежде чем задавать свой вопрос ...
Я не абсолютно уверен, почему Вы поражаете проблемы, но на объектах области существует метод слияния. Это позволяет Вам повторно прикрепить текущий объект к текущему персистентному контексту.
Я не знаю достаточно о том, что Ваш Foo, или какие настройки Вы сделали к Пользовательскому объекту или версии чаш Грааля/Java, которые Вы используете, чтобы смочь воспроизвести это.
Я думаю, что это имеет некоторое отношение к обновлению, которое Вы делаете на пользовательском объекте, который заставляет версию базы данных быть обновленной (и таким образом из синхронизации), но я не могу быть уверен.
Кроме того, я полагаю, что проверение затем отбрасывает поведение, изменяется и менее необходимый в чашах Грааля 1.1 на основе комментариев к этому сообщению
Одна вещь, которую я замечаю, состоит в том, что Вы не сохраняете пользователя, даже при том, что Вы только что добавили некоторое нечто к нему. На самом деле сохранение пользователя должно устранить потребность сохранить нечто.
Вы не должны проверять пользователя: этому не изменял его свойства недоверяемый источник, и ограничения уровня базы данных проверяются так или иначе каждый раз, когда Вы сохраняете.
Наконец, вещи как user.refresh () лучше перемещены вне Ваших действий и в перехватчик или фильтр.