Re: [pgbr-geral] Uma coluna, duas FKs
Certo, te respondo mais tarde! Bruno E. A. Silva. Analista de Sistemas. Bacharel em Sistemas de Informação Pós-graduando em Gerência de Projetos Certified Scrum Master LPIC-1 SCJP, SE 6 Novell CLA / DCTS ECR DBA Postgres --- “A caixa dizia: Requer MS Windows ou superior. Então instalei Linux.” - Sábio Desconhecido "Alguns prestam serviço/consultoria de Qualidade, os outros vendem licença!" 2012/3/6 Tiago Adami > Em 6 de março de 2012 11:01, Bruno Silva escreveu: > > Olha só, em defesa do Hibernate, o teu arquiteto está embananado. > > > > Certo, então, poderias dizer como fazer para solucionar a questão? > > Seria de grande ajuda, pois não teria que modificar no modelo. Eu não > tenho a mensagem de erro aqui agora pois não estou na empresa, mas se > você copiar o código SQL que fiz no início conseguirá reproduzí-lo sem > dificuldades. > > > > -- > TIAGO J. ADAMI > http://www.adamiworks.com > ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Em 6 de março de 2012 11:01, Bruno Silva escreveu: > Olha só, em defesa do Hibernate, o teu arquiteto está embananado. > Certo, então, poderias dizer como fazer para solucionar a questão? Seria de grande ajuda, pois não teria que modificar no modelo. Eu não tenho a mensagem de erro aqui agora pois não estou na empresa, mas se você copiar o código SQL que fiz no início conseguirá reproduzí-lo sem dificuldades. -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Olha só, em defesa do Hibernate, o teu arquiteto está embananado. Bruno E. A. Silva. Analista de Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Em 5 de março de 2012 20:20, Flavio Henrique Araque Gurgel escreveu: > Qual é a versão do Hibernate? > Ele está usando o dialeto PostgreSQL? > Como estão os xmls do mapeamento dos objetos com o banco de dados? * Hibernate 4.0.1 * PostgreSQL Dialect * Não usa XML, mas Annotations. Agradeço o esforço de todos, mas realmente é um erro de ferramenta. Acontece com outros SGBDs também (convertemos o modelo para outro SGBD e o mesmo erro foi apresentado). Para ficar claro, não que eu tenha duvidado do PostgreSQL, era mais uma dúvida de projeto mesmo. Pensei que pudesse estar errado no conceito de usar uma coluna e mais de uma FK nela. Obrigado! -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Le 2012-M-5 19h51, Tiago Adami a écrit : > > "hibernate está aí a mais de 10 anos e muitas empresas > grandes usam e..." O que quer dizer exatamente o quê? Os vírus estão conosco há muito mais tempo. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
> De operação não sei, pois não conheço a ferramenta. Mas eu mesmo > verifiquei a mensagem de erro: simplesmente diz que "não pode usar uma > mesma coluna em dois relacionamentos ManyToOne" (ou algo assim). Por > isso pensei que eu pudesse estar fazendo algo errado. Como diz o > arquiteto, "hibernate está aí a mais de 10 anos e muitas empresas > grandes usam e..." Qual é a versão do Hibernate? Ele está usando o dialeto PostgreSQL? Como estão os xmls do mapeamento dos objetos com o banco de dados? []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
Em 5 de março de 2012 18:55, Guimarães Faria Corcete DUTRA, Leandro escreveu: > O Hibernate realmente é fraco demais — mas a coisa é tão absurda que > será que não é um erro de operação do Hibernate? > De operação não sei, pois não conheço a ferramenta. Mas eu mesmo verifiquei a mensagem de erro: simplesmente diz que "não pode usar uma mesma coluna em dois relacionamentos ManyToOne" (ou algo assim). Por isso pensei que eu pudesse estar fazendo algo errado. Como diz o arquiteto, "hibernate está aí a mais de 10 anos e muitas empresas grandes usam e..." -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Uma coluna, duas FKs
2012/3/5 Tiago Adami : > > Então eu peço a vocês... posso mesmo dizer que o Hibernate é fraco > demais, ou altero o modelo? O Hibernate realmente é fraco demais — mas a coisa é tão absurda que será que não é um erro de operação do Hibernate? Com um arquiteto assim, a casa cai… ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Uma coluna, duas FKs
Boa tarde! Estou usando o PostgreSQL 8.3 em um projeto - legado - que irá usar Hibernate (eca!). Infelizmente não posso mudar isso pois é decisão do arquiteto de software. E infelizmente, o Hibernate não está aceitando o modelo que fiz de banco. E o arquiteto de software está dizendo que o erro é do PostgreSQL que permite a implementação de tal modelo (!). Isso é inválido, uma vez que já testei em Sybase e DB2 e também não tive problemas. Mas para ganhar a discussão, gostaria de uma segunda opinião quanto ao caso. As tabelas são muito próximas disso: CREATE TABLE COTACAO_ITEM( NUMCOTACAO INTEGER NOT NULL, CODBARITEM CHAR(13) NOT NULL ); ALTER TABLE COTACAO_ITEM ADD PRIMARY KEY( NUMCOTACAO, CODBARITEM ); CREATE TABLE COTACAO_PARTICIPANTE( NUMCOTACAO INTEGER NOT NULL, CNPJFORN CHAR(14) NOT NULL ); ALTER TABLE COTACAO_PARTICIPANTE ADD PRIMARY KEY( NUMCOTACAO, CNPJFORN ); CREATE TABLE COTACAO_ITEM_RETORNO( NUMCOTACAO INTEGER NOT NULL, CNPJFORN CHAR(14) NOT NULL, CODBARITEM CHAR(13) NOT NULL, PRECO NUMERIC(15,2) NOT NULL ); ALTER TABLE COTACAO_ITEM_RETORNO ADD PRIMARY KEY( NUMCOTACAO, CNPJFORN, CODBARITEM ); ALTER TABLE COTACAO_ITEM_RETORNO ADD CONSTRAINT FK_ITEM FOREIGN KEY ( NUMCOTACAO, CODBARITEM ) REFERENCES COTACAO_ITEM( NUMCOTACAO, CODBARITEM ); ALTER TABLE COTACAO_ITEM_RETORNO ADD CONSTRAINT FK_PARTICIPANTE FOREIGN KEY ( NUMCOTACAO, CNPJFORN ) REFERENCES COTACAO_PARTICIPANTE( NUMCOTACAO, CNPJFORN ); A explicação é a seguinte: - Uma cotação tem um único número (é uma chave natural neste caso pois cada cotação precisa ter um número, mesmo que gerado pelo banco). - Uma cotação possui vários itens (COTACAO_ITEM); - Uma cotação possui vários fornecedores participantes (COTACAO_PARTICIPANTE); - Para cada combinação de item e fornecedor, deve haver apenas um preço (COTACAO_ITEM_RETORNO); Então... em banco de dados tudo corre da mandeira mais perfeita possível, pois a coluna COTACAO_ITEM_RETORNO.NUMCOTACAO possui relação com 2 FKs, uma para a tabela COTACAO_ITEM e outra para COTACAO_PARTICIPANTE. Mas o Hibernate não permite fazer relacionamento de uma mesma coluna com duas FK's... Então eu peço a vocês... posso mesmo dizer que o Hibernate é fraco demais, ou altero o modelo? -- TIAGO J. ADAMI http://www.adamiworks.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral