Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA - SPRING BOOT]Import Automatico Tabelle

    Buongiorno a tutti, in spring boot, si usa in genere creare le tabelle le entity così:

    codice:
    @Entity
    @Table(name = "MyTable")
    public class MyTable {
    ...
    }
    Ma se la tabella, l'abbiamo già e c'è da fare un Update, è necessario comunque definirla? Sebbene in modo diverso?
    Oppure c'è un import automatico delle tabelle?
    jabjoint

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318
    Non ho capito il problema.
    Quella che hai postato è la definizione dell'Entity.
    Da sola quella cosa non fa nulla (se non accertarsi che esista una tabella MyTable con i campi definiti).
    Operazioni di DDL (Data-Definition Language) come CREATE/ALTER del database sono regolate dalla property "spring.jpa.hibernate.ddl-auto" nel file application.properties, che può assumere i seguenti valori:

    - none: non fa alcuna operazione di data definition, né di validazione sul db;
    - validate: valida lo schema secondo le definizioni, ma non altera il db;
    - update: valida lo schema ed eventualmente aggiorna il db per conformarlo;
    - create: elimina un eventuale schema di db già presente e lo ricrea da zero secondo le definizioni


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Non ho capito il problema.
    Quella che hai postato è la definizione dell'Entity.
    Da sola quella cosa non fa nulla (se non accertarsi che esista una tabella MyTable con i campi definiti).
    Operazioni di DDL (Data-Definition Language) come CREATE/ALTER del database sono regolate dalla property "spring.jpa.hibernate.ddl-auto" nel file application.properties, che può assumere i seguenti valori:

    - none: non fa alcuna operazione di data definition, né di validazione sul db;
    - validate: valida lo schema secondo le definizioni, ma non altera il db;
    - update: valida lo schema ed eventualmente aggiorna il db per conformarlo;
    - create: elimina un eventuale schema di db già presente e lo ricrea da zero secondo le definizioni


    Ciao.
    Grazie, ok. Quindi mi son accorto poi, che non è necessario definire tutte le entità.
    Basta definire quelle che si usano, aggiornano o altro.
    Questo era ciò che non mi era chiaro.

    Invece ho dubbi su validate.

    Infatti accedendo con questo parametro al db pare lo aggiorni ...un po' come dovrebbe fare update...
    Uso boot spring.

    jabjoint

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318
    Questo non deve accadere.
    E' una specifica.
    Il valore "validate" deve semplicemente verificare la corrispondenza tra lo schema db e la definizione. Se non c'è corrispondenza, l'applicazione si deve arrestare (e deve essere sollevata un'eccezione). Nessuna modifica deve essere apportata al DB.

    Vedi anche qui: https://springhow.com/spring-boot-da...nitialization/

    C'è anche la property "spring.jpa.generate-ddl", che però non è di hibernate e quindi, se specificata, potrebbe sovrapporsi nel comportamento.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.