Como validar uma constraint com o ADF, apenas customizando uma classe.
Primeiro vamos criar um tabela no banco.
CREATE TABLE "MARTINS"."MESSAGETABLE"
(
"ID" NUMBER(8,0) NOT NULL ENABLE,
"MESSAGE_ERROR" VARCHAR2(50 BYTE) NOT NULL ENABLE,
CONSTRAINT "MESSAGETABLE_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM" ENABLE
)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
(
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
)
TABLESPACE "SYSTEM" ;
O código acima, foi gerado a partir da ferramenta SQL Developer, as unicas configurações a serem realizadas é colocar o ID como chave primária e a messagem como valor único.
A arvore de diretórios deverá ficar parecida com essa:
Clique com o botão direito sobre o projeto ValidaMSGError-> Project Properties-> Business Components. Na janela que abrirá clique em New...
vamos criar uma classe de validação de chaves.
A classe criada não terá validação nenhuma. Vá até a base de dados e verifique o nome da constraint criada. Vide imagem abaixo.
Vamos utilizar o nome "MESSAGETABLE_UK1".
Na classe criada, coloque a seguinte Mensagem:
Salve o projeto.
Execute o seu aplication Module:
Tente cadastrar uma Mensagem que já existe. Um resultado parecido com este deverá ser exibido.