Tenho uma dúvida que não encontro em lugar algum, se puderem me dar uma ajuda ficarei muito agradecido.
Tem um conceito no OJB que ao utilizar o this.getPersistenceBrokerTemplate().store(bean) para atualização ou inserção o OJB certifica se o registro existe, se sim ele atualiza, senão ele insere, porém isso não está sendo aplicado as tabelas filhas(tabelas FKs) em uma aplicação que estou trabalhando.
Ex: Se inserir em uma tabela pai e o registro existir o registro será atualizado, porém se existir uma tabela filha e o registro existir será inserido novamente em vez de fazer uma verificação para saber se será alterado o registro ou inserido.
Ou seja se existir uma tabela pai com 10 tabelas filhas, será atualizado os dados da tabela pai caso existir e o registro das 10 filhas será inserido direto sem verificar se existe aquela informação na tabela, gerando assim duplicidade de chave primaria das tabelas FKs.
Não encontrei algo que me desse uma solução para esse tipo de problema dei uma olhada na documentação entre outras coisas, mas nada que resolvesse, alguém já teve um problema parecido com isso?
Não manjo nada de OJB e não sei se entendi bem o ponto de sua questão mas aqui vai um pouco da minha :idea: pra vc:
Você disse que os registros das tabelas filhas ficam duplicadas em uma inserção, peço-lhe que verifique atentamente as chaves das tabelas (pais e filhas) e procure constatar se o que está mapeado no OJB realmente descreve a estrutura das chaves. Porque se o OJB não estiver com as chaves mapeadas adequadamente ele pode não encontrar os registros nas tabelas filhas e constatar que o registro não existe e inserir novamente. Fora isso me causou estranheza o fato do banco de dados na ter jogado uma exception dizendo que chaves (PRIMARY KEY) duplicadas não são permitidas.
P.S Tabelas sempre tem que possuir chaves primarias (PK), o contrario disto tem que haver uma boa explicação para tal opção.
realmente tem haver com o que vc falou.
Simplesmente eu não estava setando o campo chave primaria da tabela filha,
logo o sistema não sabia quem era para ser atualizado e acabava fazendo uma inserção.
Depois que setei o id acabou atualizando os registro que eu queria que fosse
atualizado.
Bom estou iniciando alguns estudos na técnica de Mapeamento Objeto Relacional e escolhi esse framework
para iniciar os meus testes, ficaria muito grato se alguem tivesse alguma aplicação que exemplifica a utilização
desse framework. se possível me enviar eu agradeceria muito
Entendi pretendo ainda utilizar o Hibernate mais é que estou desenvolvendo uma aplicação acadêmica em Java e necessito demonstrar
a técnica de mapeamento utilizando espefíficamente o OJB, caso tenha alguma que exemplifique a sua utilização eu ficaria extremamente grato
[quote=Sinvaldo_Junior]Entendi pretendo ainda utilizar o Hibernate mais é que estou desenvolvendo uma aplicação acadêmica em Java e necessito demonstrar
a técnica de mapeamento utilizando espefíficamente o OJB, caso tenha alguma que exemplifique a sua utilização eu ficaria extremamente grato
[/quote]
Amigo infelizmente não tenho nenhum exemplo simples de aplicação com mapeamento do OJB, mas digo para você que é bemm parecido com o Hibernate, sugiro uma lida na documentação, caso surgir dúvidas posta ae que a gente responde. http://db.apache.org/ojb/
bom uma pergunta bem iniciante mesmo
baixei o OJB, um arquivo .rar que tem uma série de pastas e arquivos .jars nele
o que deve fazer para poder utilizar essa API ?
adiciono as .jars ?
eu utilizo o eclipse galileo devo ir em libraries/ add extenal Jars ?