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")publicclassComissao_fiscalsuplenteextendsBaseEntityimplementsSerializable{
Tenho tudo instalado, uso maven, Alguem já passou pelo mesmo erro?
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")publicclassComissao_fiscalsuplenteextendsBaseEntityimplementsSerializable{
D
Danilo_Barrinha
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
Danilo_Barrinha
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.