Identity, sequence e table

  • Creatore Discussione Creatore Discussione Axis18
  • Data di inizio Data di inizio

Axis18

Nuovo Utente
10 Apr 2018
12
0
1
26
Quando lavoro con Hibernate e Spring Boot esiste l'annotazione
Codice:
@Id @GeneratedValue(strategy=GenerationType.AUTO)
che può assumere 3 forme diverse:
AUTO, IDENTITY, SEQUENCE e TABLE.
AUTO, IDENTITY e SEQUENCE mi sono chiari ma quello che non riesco a comprendere è TABLE.
Quando in passato avevo letto qualcosa di base dati ricordo appunto che esistevano due diverse metodologie per assegnare l'id (l'identità e la sequenza) ma non ricordo la modalità TABLE. Mi sapete aiutare?
Quando voglio creare una relazione uno a molti o molti ad uno creo delle tabelle a due colonne che permettono di legare 2 tabelle diverse dello stesso DBMS come l'id utente con l'id dei suoi post, ecc... Io parto dal presupposto che TABLE non centri nulla con tutto ciò ma che sia un nuovo metodo per assegnare l'id alla singola tabella. Concordate?
Ho postato qui perché è una domanda sui DBMS e non su JAVA.
Tra il resto MySQL e PostgreSQL usano IDENTITY e SEQUENCE entrambi?
Ultima domanda, ma questa è solo curiosità, tra i due DBMS più gettonati (MySQL e PostgreSQL) esiste un "vincitore"? Ho letto che MySQL ora è di Oracle, proprio come PostgreSQL, quindi quali tra i due converrebbe usare per una nuova applicazione per la quale non esistono vincoli di alcun tipo?
Con Hibernate si supera questa problematica ma al contempo risulta complesso scrivere query articolate e poi si tratta di imparare bene un nuovo linguaggio assolutamente più complesso che l'SQL. Insomma a mio avviso l'SQL è vincente per semplicità ma quale dei due a vostro avviso è il futuro? MySQL o PostgreSQL? Leggo anche che Oracle ha un suo DBMS ad oggetti che sotterra tutte le soluzioni presenti sul mercato ma non è uno strumento gratuito per cui non ha molto senso studiarlo, specie ora che posso fare siti web per il verduriere o il piccolo commerciante. Tutti i più grandi CMS scritti in PHP come Wordpress, Drupal, Prestashop, Magento, ecc... usano MySQL e non PostgreSQL per cui sembra vincente MySQL però ho letto che PostgreSQL è più completo e potente rispetto al concorrente. Insomma ero curioso, ma desidero sottolineare la parola curioso, di capire cosa ne pensate dato che è ovvio che al momento sono strumenti assolutamente interscambiabili ed altrettanto validi.
Grazie anticipatamente per il vostro aiuto
 

Discussioni simili