sql >> Databáze >  >> RDS >> PostgreSQL

Cayenne, Postgres:generování primárního klíče

Z vašeho popisu v komentářích vyplývá, že ze 2 sloupců obsahujících PK 'telefonocliente' je pouze jeden skutečně nezávislý - 'cod_telefono'. To bude Cayenne generovat. V případě PosgreSQL budete v DB potřebovat následující sekvenci:

CREATE SEQUENCE pk_telefonocliente INCREMENT 20 START 200;

Nyní, odkud pochází druhý PK 'cod_cliente'? Protože je to také FK k jiné tabulce, znamená to, že je to "závislý" PK a musí pocházet ze vztahu. Nejprve tedy musíte zmapovat vztah „mnoho ku jedné“ mezi „telefonocliente“ a „cliente“. Zaškrtněte políčko „To Dep Pk“ na straně 'telefonocliente'. Vygenerujte odpovídající ObjRelationship pro vaše objekty Java. Nyní jej můžete použít ve svém kódu:

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

To by mělo být ono.



  1. Výjimka SQLSTATE[HY000] [1045] při připojování k databázi pomocí 000webhost

  2. Nesprávné pořadí průvodce

  3. Ekvivalent MYSQL group_concat v Sybase ASE?

  4. Duplicitní záznam na INSERT po DELETE z tabulky v transakci