- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 View 对象,我创建了一行,如下所示:
ContactsVORowImpl person = ( ContactsVORowImpl ) getContactsVO().createRow();
然后我分配所创建行的一些属性,而其他属性则未分配(故意):
person.setFirstname( "firstname" );
//person.setLastname( "" );
person.validate();
我收到验证错误,因为 Lastname
为空。
然后我无论如何都会提交,不将该行插入 View 对象:
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)
我实际上正在做一个小组提交;我正在检测有缺陷的行,并且不将它们插入 View 对象中以避免提交。尽管如此,它还是试图 promise 它们;为什么?
最佳答案
文档指出:
Creates a new view row. The new row is not placed in the entity cache until its primary key is initialized. It is inserted into the database when changes are posted to database and the transaction is committed.
最后一部分似乎说它已插入数据库,因此这就是您收到异常的原因。
解决方法:尝试调用 removeCurrentRow
,但在此之前检查当前行是否是您刚刚创建的行。未经测试。
关于java - 如何使用 createRow() 将行添加到 View 对象后删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257379/
我想知道为什么在 Zend_Db 中你必须使用 createRow 方法来获取一个新的、空的 Row 对象,而不是直接实例化 Row 对象。 例如,如果我扩展了默认类来创建我自己的 User 表和行类
在 ZF1 中,有一个函数 Zend_Db_Table_Abstract::createRow() 可以创建一个新的空白行。然后可以对该新行进行操作并将其存储在表中。 rowID 使用自动增量自动设置
我有一个 View 对象,我创建了一行,如下所示: ContactsVORowImpl person = ( ContactsVORowImpl ) getContactsVO().createRow
我在使用 Apache POI v3.12 时遇到以下问题:我需要使用一个包含 49 行 [0..48] 的 XLSX 文件作为模板,用数据填充它的单元格并将其作为不同的文件写出,这样我就可以再次使用
我是一名优秀的程序员,十分优秀!