表达式生成器到SQL查询

时间:2012-01-19 12:30:37

标签: sql expression toplink

我知道,这个类似的帖子已经发布(SQL query from Toplink expression),但我没有在那里找到答案。我想从Expression Builder表达式中获取SQL查询:

我有

Expression exp = builder.get(NUMBER.getAttributeName()).equal(getNumber());

我希望看到SELECT语句,例如(Select * from table WHERE number=....)

或者是否可以在没有会话的情况下从表达式生成器执行表达式? (我知道当我使用query.prepareCall(session, new DatabaseRow())时我可以获得声明,但我只需要避免使用会话。非常感谢。

2 个答案:

答案 0 :(得分:0)

您必须拥有会话(如果没有会话,您打算执行什么?)。

query.prepareCall(session, new DatabaseRow())

这是你获取SQL的方法,你需要创建一个带有表达式的ReadAllQuery才能获得SQL(Expression只是一个where子句)。

答案 1 :(得分:0)

问题是,我无法创建会话,因为我无法注册我的项目。那是因为我错过了Project.class中的一行代码

 setName(APPLICATION_NAME);

在此之后,我能够创建会话和执行查询。无论如何,谢谢你