all those work fine:
select count(*) from com.methark.econair.Pessoa
select count(*) from com.methark.econair.PessoaFisica
select count(*) from com.methark.econair.PessoaJuridica
select count(*) from com.methark.econair.Filial
sorry about the show_sql, I was using the eclipse hibernate console.
here it go:
SQL
Quote:
select count(*) as col_0_0_ from Pessoa pessoa0_ where case when pessoa0_1_.idPessoaJuridica is not null then 1 when pessoa0_2_.idFilial is not null then 2 when pessoa0_3_.idPessoaFisica is not null then 3 when pessoa0_.idPessoa is not null then 0 end=3
it ignores the need of from clause... notice that if I remove the count and select Pessoa it works:
Quote:
select pessoa0_.idPessoa as idPessoa, pessoa0_.nome as nome99_, pessoa0_1_.CNPJ as CNPJ100_, pessoa0_1_.website as website100_, pessoa0_1_.inscrEstadual as inscrEst4_100_, pessoa0_1_.inscrMunicipal as inscrMun5_100_, pessoa0_2_.numero as numero101_, pessoa0_2_.idPessoaJuridica as idPessoa3_101_, pessoa0_3_.CPF as CPF102_, pessoa0_3_.nascimento as nascimento102_, pessoa0_3_.foto as foto102_, pessoa0_3_.sexo as sexo102_, pessoa0_3_.nomeMae as nomeMae102_, pessoa0_3_.nomePai as nomePai102_, pessoa0_3_.email as email102_, pessoa0_3_.estadoCivil as estadoCi9_102_, pessoa0_3_.Naturalidade as Natural10_102_, pessoa0_3_.Nacionalidade as Naciona11_102_, pessoa0_3_.RG_numero as RG12_102_, pessoa0_3_.RG_orgao as RG13_102_, pessoa0_3_.RG_estado as RG14_102_, pessoa0_3_.RG_emissao as RG15_102_, case when pessoa0_1_.idPessoaJuridica is not null then 1 when pessoa0_2_.idFilial is not null then 2 when pessoa0_3_.idPessoaFisica is not null then 3 when pessoa0_.idPessoa is not null then 0 end as clazz_ from Pessoa pessoa0_ left outer join PessoaJuridica pessoa0_1_ on pessoa0_.idPessoa=pessoa0_1_.idPessoaJuridica left outer join Filial pessoa0_2_ on pessoa0_.idPessoa=pessoa0_2_.idFilial left outer join PessoaFisica pessoa0_3_ on pessoa0_.idPessoa=pessoa0_3_.idPessoaFisica where case when pessoa0_1_.idPessoaJuridica is not null then 1 when pessoa0_2_.idFilial is not null then 2 when pessoa0_3_.idPessoaFisica is not null then 3 when pessoa0_.idPessoa is not null then 0 end=3
but If I select only fields from the master class, it gets wrong again!
Code:
select Pessoa.idPessoa from com.methark.econair.Pessoa as Pessoa Where Pessoa.class is com.methark.econair.PessoaFisica
Quote:
select pessoa0_.idPessoa as col_0_0_ from Pessoa pessoa0_ where case when pessoa0_1_.idPessoaJuridica is not null then 1 when pessoa0_2_.idFilial is not null then 2 when pessoa0_3_.idPessoaFisica is not null then 3 when pessoa0_.idPessoa is not null then 0 end=3
well, looks like a bug...[/b]