我正在尝试在我的应用程序中运行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.
由于