我知道,类似的帖子已经发布了(来自Toplink表达式的SQL查询),但我在那里没有找到答案。我想从Expression Builder表达式获得SQL查询:
我有
Expression exp = builder.get(NUMBER.getAttributeName()).equal(getNumber());
我想查看SELECT
语句,如(Select * from table WHERE number=....)
或者可以在没有会话的情况下从表达式生成器执行表达式?(我知道当我使用query.prepareCall(session, new DatabaseRow())
时,我可以获得语句,但我只需要避免使用会话。非常感谢。
您必须拥有会话(如果没有会话,您将在什么上执行它??)。
query.prepareCall(session, new DatabaseRow())
这就是获取SQL的方式,您需要使用表达式创建ReadAllQuery才能获取SQL(表达式只是where子句)。
问题是,我无法创建会话,因为我无法注册我的项目。那是因为我在Project.class 中漏掉了一行代码
setName(APPLICATION_NAME);
之后,我就可以创建会话并执行查询了。无论如何都要感谢