Lift-mapper - вставка элементов в базу данных

Я пытаюсь добавить элемент в базу данных H2. Мой код:

class Test extends LongKeyedMapper[Test] with IdPK {
  def getSingleton = Test
  object name extends MappedString(this, 100)
}

а также Test.create.name("some_name").id(2).saveно я всегда получаю java.lang.Exception: Do not have permissions to set this field, Что я могу сделать не так? Соединение, конечно, открыто, и у меня есть разрешение на данные из базы данных.

1 ответ

IdPK продолжается MappedLongIndex который по умолчанию недоступен для записи, поэтому он ограничивает вас от установки поля. Обычно вы позволяете БД автоматически генерировать для вас PK ID с помощью поля автоинкремента (postgres, mysql), триггера + sequence (oracle) и т. Д. Поэтому в большинстве распространенных сценариев вам не нужно устанавливать это поле. Чтобы иметь возможность установить его, добавьте переопределение в поле:

override def writePermission_? = true
Другие вопросы по тегам