У меня есть объект вида и создать строку, как это:Как удалить строку после добавления к объекту вида с createRow()
ContactsVORowImpl person = (ContactsVORowImpl) getContactsVO().createRow();
Тогда я задаю некоторые свойства создаваемого ряда , оставляя другой Unassigned (сознательно):
person.setFirstname("firstname");
//person.setLastname("");
person.validate();
Я получаю ошибки проверки жалуются, потому что Lastname
является недействительным.
Тогда я коммиту, БЕЗ вставки строки в объект вида:
getDBTransaction().commit();
Здесь я получаю следующее исключение для Lastname
быть нулевым:
Exception Class: class oracle.jbo.AttrValException, Message: JBO-27014: The attribute Lastname in ContactsEO is needed.
| oracle.jbo.AttrValException: JBO-27014: The attribute Lastname in ContactsEO is needed.
at oracle.jbo.server.JboMandatoryAttributesValidator.validate(JboMandatoryAttributesValidator.java:224)
at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:3200)
at oracle.jbo.server.EntityCache.validate(EntityCache.java:3601)
at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:2361)
at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:2540)
at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4540)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2035)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2378)
- Как это может Случается, так как я не вставлял строку?
- Как я могу обойти это?
Я на самом деле делаю групповое совершение; Я обнаруживаю дефектные строки и не вставляю их в объект вида, чтобы избежать фиксации. Тем не менее он пытается их совершить; Зачем?
Что вам нужно? Вызов фиксации без фиксации? – Jens
Мне нужно вызвать групповое коммитирование, чтобы зафиксировать другие созданные и вставленные строки, но не этот (ошибочные), поэтому почему я получаю сообщение об ошибке в этой фиксации, когда у нас даже нет вставленной строки. , , –
Я не понимаю 2 близких голосов –