Criar regra de negócio do CRUD e auditoria.
[pacote-base].services.[NomeTabela]Service
listar()buscar(Long id)incluir(@Valid obj)alterar(@Valid obj, Long id)excluir(Long id)pesquisar([NomeTabela]Filter filtro), somente se houver campo pesquisável
- Aplicar
@Securedem todos os métodos usando perfis antes de:emprojeto.perfis. - Se constante de perfil não existir na classe main, criar com valor
ROLE_[pacote-base]_[NOME_PERFIL]. incluir: exigeid == nulle preenchecriadoPor/criadoEm.alterar: exigeobj.id == id, busca existente, preserva criação e preenche alteração.- Auditoria usa
SecurityService.getUserLogin().getLogin(), sem fallback. - Pesquisa usa
repository.findAll(filtro.toPredicate())ou padrão QueryDSL equivalente. - Logs devem usar
tabela.label.
- Auditoria é preenchida no service.
- Pesquisa aceita múltiplos filtros simultâneos.
- Métodos estão protegidos pelos perfis.
- Mensagens usam label do YAML.