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