我理解Oracle中何时可能发生循环.理论上它说如果一条记录既是另一个节点的父节点又同时是它的子节点,那么它就可以进入一个循环.
但是我无法理解为什么我的这个特定查询会进入循环.
SELECT Empno, Ename, Job
FROM Emp
START WITH Empno = 7839
CONNECT BY PRIOR
Job='PRESIDENT'
有人可以解释一下这个数据如何导致循环.我做了一个CONNECT_BY_ISCYCLE检查,发现记录循环是KING(总统).但我仍然不明白怎么可能,因为KING是总统,而且我认为它没有任何方式成为表中任何记录的子女和父母.
请解释一下,为什么这是一个错误,循环在哪里?
提前致谢.
仅供参考,该表是Oracle中SCOTT用户的默认EMP表.
我已使用maxdate和mindate为两个日期字段(从日期和日期)动态选择日期,使用以下代码 -
<p:calendar id="FromDate" value="#{controller.fromDt}" showOn="button" 
    maxdate="#{controller.toDt}" >
       <p:ajax event="dateSelect" update="ToDate"></p:ajax>
    </p:calendar>
 <p:calendar id="ToDate" value="#{controller.toDt}" showOn="button"
     mindate="#{controller.fromDt}">
       <p:ajax event="dateSelect" update="FromDate"></p:ajax>
    </p:calendar>
如果选择日期,一切似乎都能正常工作.限制适用于其他相关日历.就像设置fromDate一样,然后对todate应用限制.但是,一旦没有fromdate使用退格键删除或删除,仍然限制在那里的TODATE领域.
我知道当删除日期时,它不是dateSelect事件,但即使尝试放置valueChange事件也不会起作用,因为只有在提交页面时才会触发valueChangeEvent.
有人可以建议我如何解决这个问题.提前致谢.
我正在使用 Prmefaces 3.5。我在数据表中使用 RowToggler。每当单击 RowToggle 按钮时,我都会执行一些数据库访问操作并显示包含所访问数据的网格。
每当单击切换按钮时,都会调用下面的侦听器,在其中完成操作
<p:ajax event="rowToggle" listener="#{controller.onRowToggle}" 
但问题就出在这个方法的调用上。不仅在展开行时调用此方法,还在折叠行时调用此方法。折叠行时不需要完成数据库操作,因此这是一项昂贵的操作。
请建议如何知道该行是展开还是折叠,以便我可以有条件地执行操作?
我是JPA的新手,最近开始使用它。我对JPA 2.0中引入的以下方法有疑问-
 public <T> T find(Class<T> entityClass, Object primaryKey, 
                  Map<String, Object> properties); 
该文档说,使用供应商指定的属性按主键查找。
但是我无法理解那些特定于供应商的属性以及在什么情况下应该使用此重载的find()方法。
谁能用一个合适的例子向我解释这一点。提前致谢。