У меня проблема! нужно получить объект json, который уже имеет уже установленный идентификатор, который еще не сохранен. но при попытке создать идентификатор объекта имеет значение null. И он устанавливается только при вызове метода сохранения, генерирующего разные идентификаторы. например:Создать объект из JSON с предопределенным id в Grails
objetoJson = {id: "123413215123", name: "Leonan Teixeira", address: {id: "12345", city: "Victory", state: "Bahia"}} def person = new Person (objetoJson)
конечное состояние объекта:
Person.id = нуль Person.Address = нуль
, но мне нужно идентификатор хранится. то же самое происходит, если я person.properties = objetoJson
Мои классы сопоставляются с идентификатором '' UUID
String id; static mapping = { id generator: 'uuid' }
Solution
добавить привязываемому: верно ограничения
class MyDomain { static constraints = { // allow binding of "id" attribute (e.g. in constructor or url parameters) id bindable: true } }
http://www.redcube.de/assigning-id-domain-objects-grails-via-constructor/
Вы используете реализацию Hibernate GORM или что-то еще, как Монго, Redis ..? –
Я использую Hibernate GORM! –