Where cannot be resolved a type

4 respostas
jpajsfprogramaçãosqlserverjava
D

Estou desenvolvendo em java usando o hibernate e e tentei adicionar uma restrição com a anotação @Where, porém dá o erro “@where cannot be resolved a type”, não achei nada que me ajudasse no pai google, segue um trecho do código:

@SQLDelete(sql = "update COMISSAOFISCALSUPLENTE set ativo = 0 where id = ?")
@Where(clause = "ativo = 1")   
public class Comissao_fiscalsuplente extends BaseEntity implements Serializable{

Tenho tudo instalado, uso maven, Alguem já passou pelo mesmo erro?

4 Respostas

Rodrigomarden

Eu não sei como resolver o erro, mas acho que se você fizer dessa forma vai receber o mesmo resultado.

@SQLDelete(sql="update COMISSAOFISCALSUPLENTE set ativo = 0 where id = ? AND ativo = 1")
public class Comissao_fiscalsuplente extends BaseEntity implements Serializable{
D

na verdade a anotação @where seria para restringir todas as buscas desta entidade, assim toda retorno de busca já viria automaticamente somente os objetos com o atributo “ativo” igual a 1 , já a anotação “@SQLDelete” serve para ao invés de realmente deletar do banco, somente atualizar o atributo para 0 ou inativo, assim fazendo somente uma exclusão lógica, mas obrigado pela dica.

Rodrigomarden

Mas da forma que eu coloquei no código SQL irá fazer a mesma coisa, será restringido apenas aos que tiverem o “ativo” igual a 1

D

da forma que você colocou ele vai somente setar como inativo caso a entidade atual esteja ativa , não fará tanta diferença para mim pois é somente uma query de atualização, oque procuro é uma query de seleção que me retornaria somente os objetos ativos, posso fazer isso manualmente com um

select e from tabela e where ativo = 1

porém ,tenho muitos métodos que busco por objetos ativos , ficaria inviável a alteração de todos, além de não ser muito elegante.

Criado 9 de maio de 2017
Ultima resposta 9 de mai. de 2017
Respostas 4
Participantes 2