执行Seam EJBQL时出错 - “java.lang.IllegalStateException:查询无效的select子句”

时间:2012-08-16 19:27:23

标签: java hibernate seam ejbql

我正在尝试在我的应用程序中运行ejbql但它失败并出现以下错误:     java.lang.IllegalStateException:查询的select子句无效。

这是查询:

public void pesquisar()
{
    StringBuilder query = new StringBuilder();

    query.append("SELECT OBJECT(licenca) FROM TblLicencas licenca");
    query.append(" WHERE upper(licenca.tblLivros.titulo) like '%" + termoPesquisa.toUpperCase() + "%'");
    tblLicencasList.setEjbql(query.toString());

    tblLicencasList.refresh();
}

在控制台中,hibernate生成的输出查询是:

select
    top 26 tbllicenca0_.id_licenca as id1_8_,
    tbllicenca0_.data_geracao as data2_8_,
    tbllicenca0_.id_livraria as id3_8_,
    tbllicenca0_.id_livro as id4_8_,
    tbllicenca0_.id_status_licenca as id5_8_,
    tbllicenca0_.id_tipo_licenca as id6_8_ 
from
    DigitalDocumentsServerTeste.dbo.tbl_licencas tbllicenca0_,
    DigitalDocumentsServerTeste.dbo.tbl_livros tbllivros1_ 
where
    tbllicenca0_.id_livro=tbllivros1_.id_livro 
    and (
        upper(tbllivros1_.titulo) like '%ADV%'
    )

在我的应用程序中,我有几个类似于此的完美工作。 当我在数据库中mannualy执行此查询时,它运行良好。 我正在使用SQL Server 2005.

由于

0 个答案:

没有答案