Bom, não sou muito experiente em programação Java, to tentando criar um programa, utilizando o toplink como persistencia no banco.
Bom, meu problema eh o seguinte… tenho uma tabela no banco de dados (postgresql) que tem 3 chaves primárias, crio o persistence e crio as classes mapeadas pelo toplink. Neste caso ele cria uma tabela adicional (Ex: nomedaTabelaPK) com as chaves primárias, até ai tudo bem. O problema está na hora em que eu preciso fazer inserções com estes campos… Minha dúvida eh de como eu faço a referência a estes campos…
Então cara…vc deve trabalhar da mesma forma que vc faria no BD…se vc não tem os valores pro ID ou vc põe na mão…ou pega o último valor da tabela de primaryjeys e soma mais um…
aí não tem jeito…
T
Tecnoage
Vc está usando o toplink como persistence provider para JPA ou como ORM standalone?
rafadeaguiar
cara nao entendi… viu eh o seguinte Giulliano… to tentando fazer o seguinte
e aonde vc instancia o objeto responsável por mapear as Pk´s?
rafadeaguiar
Bom, essa eh a primeira vez q estou utilizando o toplink, ainda não to muito por dentro de todo o seu potencial…
meu exemplo está da seguinte maneira… tenho um persistence.xml com mapeamento das tabelas do banco… que no caso seria apenas uma, só estou tentando criar um exemplo, ta… como esta tabela tem dois campos como chave primária, na hora de gerar as classes aqui o toplink cria uma nova classe so com as chaves primarias, ta… e ai q ta, nao to conseguindo nem acessar e nem inserir dados nessas chaves. Criei um pacote model para armazenar as classes mapeadas das tabelas… e em outro pacote criei uma classe chamada BaseDao com o seguinte conteúdo:
cara eu nao instancio a classe AnaExPK porque dentro da classe AnaEx, essa eh a que eu instanciei, já faz referência a PK dela… eh atraves dela que eu tento acessar a PK…
rafadeaguiar
e ai pessoal, bom ainda não sai do lugar, se alguém tiver alguma idéia ai fico grato…
rafadeaguiar
Bom, consegui resolver o meu problema, deixo aqui a solução para futuramente quem estiver precisando.
public static void main(String[] args) {
BaseDao dao = new BaseDao();