使用JBOSS
我希望看到日志中执行的查询 - 我需要在纯SQL中查看它(如果可能的话)。 例如,我有一个带有命名查询的DO类
@NamedQuery(name="MyElementDO.findByAllStuff",
query="SELECT o FROM MyElementDO o WHERE <here goes some list of
conditions>")
@Table(name = "tblElement")
public class MyElementDO implements Serializable
{
//all mapped fields
}
在我的EJB类中,我通过
调用它Query qry =manager.createNamedQuery("MyElementDO.findByAllStuff").
setParameter("param1", value1).<some more setParameters()
>...setParameter("param_n", vaue_n);
list = qry.getResultList() ;
问题是,当我设计此查询并在SQL Server管理工作室中运行时,我得到3条记录(可以)
当Java EJB类执行它时,我得到1条记录。
实际查询非常大,有很多参数,其中一些是根据条件设置的。我想看看JBOSS Jvm正在执行的实际查询。所以,我的问题是:
如何启用日志?
我这样做了 - 在jBoss控制台中设置了登录类别,就像在这里找到的一样
HERE,在此页
然而,我对此输出非常不清楚,比如
\-[QUERY] Node: 'query'
+-[SELECT_FROM] Node: 'SELECT_FROM'
| +-[FROM] Node: 'FROM'
| | \-[RANGE] Node: 'RANGE'
| | +-[DOT] Node: '.'
| | | +-[DOT] Node: '.'
| | | | +-[DOT] Node: '.'
| | | | | +-[DOT] Node: '.'
| | | | | | +-[IDENT] Node: 'com'
| | | | | | \-[IDENT] Node: 'package'
| | | | | \-[IDENT] Node: 'subpackage'
| | | | \-[IDENT] Node: 'entity'
| | | \-[IDENT] Node: 'MyElementDO'
| | \-[ALIAS] Node: 'o'
| \-[SELECT] Node: 'SELECT'
| \-[IDENT] Node: 'o'
\-[WHERE] Node: 'WHERE'
\-[EQ] Node: '='
+-[DOT] Node: '.'
| +-[DOT] Node: '.'
| | +-[IDENT] Node: 'o'
| | \-[IDENT] Node: 'RelatedTableDO'
| \-[IDENT] Node: 'someId'
\-[COLON] Node: ':'
\-[IDENT] Node: 'strPlanId'
而且,我想,我可以坐下来将其翻译成常规语法,但是我能获得正常的翻译SQL输出吗?