Se eu criar um Entity Bean com um campo de PK e uma classe PK, eu quero que este campo seja aoutoincremental, eu posso criar uma trigger na tabela e chamar o create() do entity bean sem parametros isto seria correto?
Normalmente como se faz uma vez que preciso gerar valores para o campo chave automaticamente e com uma classe PK?
O fato de eu chamar(criar) um entity bean chamando o metodo create() sem parametro já cria uma linha na tabela?
Resumindo qual o jeito mais facil ou mais utilizado para fazer uso de um campo autoincremental com CMP.
Antes de mais nada, pra dizer a verdade, não sei se o que fiz é o jeito mais correto para essa solução, mas já é uma idéia!
Primeiro… sempre sigo a filosofia de usar o banco de dados somente para guardar meus objetos… ou seja, não uso qquer função deles.
Então, seguindo a ideia acima, e ainda estudando CMP, resolvi a pendenga de chave primaria incremental com uma classe auxiliar que obtem o mais alto valor existente e retorno o valor + 1 para o meu Stateless (Pattern Facade) que cuida então de “falar” com o meu CMP para criar um novo objeto. Somente nesse momento eu uso create, porque quando vc chama o create é que o objeto é criado… mesmo não passando parâmetro. (foi assim que entendi, por favor alguem me corrija se estiver errada)
Não testei outra maneira de implementar isso… acredito que se seu banco de dados tiver um campo auto-incremente, ao executar um create, a tupla com o valor da chave-primaria já deve ter sido criada… aí é só passar os outros valores atraves dos sets do seu objeto CMP já criado e pronto. Acho que vale a pena testar essa maneira… se der certo seria menos lusitana do que a minha!
Espero ter ajudado.
Ah, e caso vc já tenha achado uma solução, por favor, poste que também quero saber.