sql >> Database teknologi >  >> RDS >> PostgreSQL

Cayenne, Postgres:primær nøglegenerering

Fra din beskrivelse i kommentarer, ud af 2 kolonner, der omfatter PK af 'telefonocliente', er kun én virkelig uafhængig - 'cod_telefono'. Dette vil være, hvad Cayenne vil generere. I tilfælde af PosgreSQL skal du bruge følgende sekvens i DB for at dette kan ske:

CREATE SEQUENCE pk_telefonocliente INCREMENT 20 START 200;

Hvor kommer den anden PK 'cod_cliente' fra? Da det også er FK til et andet bord, betyder det at det er en "afhængig" PK, og skal komme fra et forhold. Så først skal du kortlægge et mange-til-en forhold mellem 'telefonocliente' og 'cliente'. Marker "To Dep Pk" afkrydsningsfeltet på 'telefonocliente'-siden. Generer et matchende ObjRelationship til dine Java-objekter. Nu kan du bruge det i din kode:

Cliente c = .. // get a hold of this object somehow   
TelefonoCliente telefono = context.newObject(TelefonoCliente.class);
telefono.setFijo(4999000);
telefono.setCliente(c); // this line is what will populate 'cod_cliente' PK/FK

Det burde være det.



  1. Problem med masseindsættelse af rækketerminator

  2. Kan du ikke oprette forbindelse til SQL server 2008?

  3. Sammenføjning af flere rækker til en enkelt række uden aggregering [Oracle]

  4. Kalder en orakelfunktion fra JPA