java - 在 Oracle ADF 12.1.3 中从 transient 属性填充持久属性

标签 java groovy oracle-adf jdeveloper

我对 JDeveloper 和 Oracle ADF 还很陌生。在我的用例中,我的实体所基于的表有一个不自动递增的主键。 (DB2)。要求 DBA 自动增量目前不是一个选择。或者就此而言,向 DBA 询问几乎任何事情。由于表 PK 中没有序列定义,我无法使用简洁的 Groovy 表达式来自动递增。这是我尝试过的:- a) 在 View 对象中创建一个名为 idGenerate 的 transient 属性,并使用查找 pk 列的最大值的 SQL 查询填充它。 b) 尝试使用表达式 idGenerate+1 填充 ViewObject id Persistent 字段。

这会导致空指针异常,因为 idGenerate 最终为空。 :(。有没有办法在不借助 EJB 的情况下执行此操作?说实话,编写 EJB 类来执行此操作似乎完全是多余的。

最佳答案

我认为这不会起作用 - 属性的值设置得太晚(通过查询)而无法在 groovy 表达式中使用。 当我遇到类似的问题时,我只是扩展了 EO 并编写了自定义 Java 来获取 idGenerate 值并在属性的 Getter 方法中递增它。我会从那里开始。

关于java - 在 Oracle ADF 12.1.3 中从 transient 属性填充持久属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26518683/

相关文章:

java - JSF 复合组件和 selectItems

groovy - 灯泡:如何检查泰坦中两个顶点是否由边连接

java - 如何在现代 JDeveloper/Weblogic/ADF 中为 JSP 页面启用 debug_mode

jsf - 异常时不重定向到错误页面

java - 如何在 adf mobile 中创建文件

java - 不使用全局变量将对象发送到父类

java - 尽管变量的类型被声明为 double ,为什么 java 会给出一个 int too large 错误?

java - RemoteWebDriver - 调试 headless Docker 容器

groovy - 如何在 Groovy 中获取脚本名称

java - 使用 root loader 加载 jar