2013-06-01 2 views
2

Если я использую метод Ebean.save(modelObject) в одном объекте модели, он сохраняет его содержимое в соответствующей таблице базы данных, если я снова использую этот метод, Ebeans попытаются снова сохранить объект сохранения, генерируя повторяющиеся ошибки первичного ключа.Настойчивость не работает с Ebeans в Play Framework 2

Есть способ сохранить данные, а не вставить данные? Я не могу найти для этого один метод.

+0

Я главный автор Ebean ОРМ. Ebean.save (modelObject) должен работать со вторым вызовом, выполняющим обновление sql - трудно сказать, почему это не сработало, как ожидалось, без дополнительной информации. –

ответ

2

Для сохранения нового использования объекта:

myobj.save(); 

для обновления использования:

myobj.update(myobj.id); 
+0

эй для myobj.update (myobj.id); Я получаю это исключение: метод выбрал исключение org.springframework.beans.InvalidPropertyException. Подробное сообщение: Недопустимое свойство 'id' класса bean [models.User]: Не найдено свойства 'id' –

+0

. Ответьте на мой вопрос: очистите решение и перестройте. –

2

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

Ebean.update(something, new HashSet<String>(Arrays.asList("name"))); 
Смежные вопросы