我知道,这个类似的帖子已经发布(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())
时我可以获得声明,但我只需要避免使用会话。非常感谢。
答案 0 :(得分:0)
您必须拥有会话(如果没有会话,您打算执行什么?)。
query.prepareCall(session, new DatabaseRow())
这是你获取SQL的方法,你需要创建一个带有表达式的ReadAllQuery才能获得SQL(Expression只是一个where子句)。
答案 1 :(得分:0)
问题是,我无法创建会话,因为我无法注册我的项目。那是因为我错过了Project.class中的一行代码
setName(APPLICATION_NAME);
在此之后,我能够创建会话和执行查询。无论如何,谢谢你