我可以从joSQL查询或其结果中获取列名列表吗?

时间:2013-06-05 16:56:09

标签: josql

是否可以获取与查询或结果集相关的列名列表?我一直在阅读joSQL的文档,但如果可能的话,我无法解决。 API中没有任何内容可以让我这样做。但是当我调试打印查询和结果时,这些信息就在类中。 joSQL有一个ColumnReference类,但我不知道是什么用它或者我甚至可以到达这个类的实例。感谢

2 个答案:

答案 0 :(得分:1)

您可以使用:Query.getColumns这会返回一个列表:SelectItemExpression然后您可以使用getAlias来返回“列”名称。

所以:

Query q = new Query ();
q.parse ("SELECT a FROM java.lang.String");

List cols = q.getColumns ();

for (int i = 0; i < cols.size (); i++)
{

    SelectItemExpresion sie = (SelectItemExpression) cols.get (i);

    System.out.println (i + ": " + sie.getAlias ());

}

当然,如果该列没有别名,那么您可以尝试使用toString方法,或者在Expression中挖掘以找到更合适的数据。

答案 1 :(得分:0)

不,不可能, joSQL是inMemory过滤实用程序,它使用反射过滤掉两个集合之间的数据。

JoSQL目前支持以下SQL功能:

SELECT * (which means "return the object" that matches the where or having clause)
SELECT columns, SELECT function, SELECT expression (arithmetic and boolean), SELECT save value, SELECT bind variable, and any mixture of the previous items
相关问题