如何从javax.persstistence。criteria.Path获取当前节点名称

时间:2018-02-08 15:47:19

标签: jpa eclipselink persistence

有没有办法获取Path实例的当前节点名称(或整个链)?据我所知,Path内没有方法可以这样做。我尝试了toString()方法,但是在EclipseLink中没有覆盖它(它可以获得默认输出:org.eclipse...PathImpl@331a119a)。

我正在使用EclipseLink,因此EclipseLink特定的解决方案对我来说很好。

1 个答案:

答案 0 :(得分:0)

当我检查路径时,我想得到使用调试器的名称,我注意到Path的EclipseLink实现有一个名为currentNode的字段QueryKeyExpression,其名称为public static QueryKeyExpression getCurrentNode(Path<?> path) { try { return (QueryKeyExpression) ReflectionUtils.getValue(path, "currentNode"); } catch (NoSuchFieldException ex) { throw new IllegalStateException(ex); } } 我在追求。所以我写了一个实用方法:

JpaUtils.getCurrentNode(path).getName()

这让我得到的名字如下:

$zip -r archive.zip dir1/ | grep "*_201605*"

另见: