2015-02-19 16 views
5

Sto provando ad avviare un'applicazione e la mia idea era quella di snocciolare le entità prima usando la riga di comando e poi lavorare sull'interfaccia utente. Questo si sta rivelando più complicato di quanto pensassi inizialmente, perché in determinate circostanze si riceve un avvertimento che dice che il generatore non funzionerà. È come se si tratti di OneToMany o ManyToOne o se questa entità sia il lato proprietario della relazione.jHipster quale ordine creare entità

Qual è il modo migliore per aggirare questo problema?

Se riesco a stabilire le regole, posso decidere in che ordine creare le cose. La mia preoccupazione è che con uno schema complicato non esiste un ordine che possa funzionare senza alcuni avvisi e cose che non funzionano.

La mia altra idea era di generare prima le entità senza relazioni e poi modificare i file JSON per aggiungere le relazioni. Allora forse posso eseguire nuovamente il generatore su ciascuna entità. Non sono sicuro se ciò funzionerebbe comunque e non sono sicuro al 100% delle proprietà json corrette richieste.

Cosa hanno provato altre persone?

risposta

5

Pianifica le tue entità e relazioni, in modo che quando crei un'entità tutte le entità da cui dipende siano già state create. Un modo per farlo è utilizzare uno schema designer o semplicemente documentare le entità e inserirle nell'ordine in cui devono essere create.

In caso contrario, come saprai, dovrai collegare manualmente tali relazioni o ricrearle con il generatore di entità.

Ma, anche con la pianificazione, dovrai utilizzare una combinazione di questi metodi nel mondo reale. Dipende solo da quanto hai modificato il codice generato su quale sia il metodo più veloce.

4

La risposta di Rori è fondamentalmente ciò che ho fatto, ma volevo fornire qualche dettaglio in più.

Prima ho passato il generatore e ho creato ogni tipo di relazione per vedere quali funzionavano e quali davano un avvertimento. Stavo scoprendo che a volte funzionava e altre volte no, ma non è stato documentato da nessuna parte perché.

Queste relazioni funzionano sempre.
OneToMany
OnetoOne (non proprietario)
ManyToMany (non proprietario)

Queste relazioni funzionano solo quando l'altra entità esiste già.
ManyToOne
OnetoOne (proprietario)
ManyToMany (proprietario)

Il motivo per cui non funzionano è sempre la stessa. Tutti richiedono una chiave esterna da creare sull'altra tabella che jHipster non può fare se non esiste ancora. Ovviamente potresti ignorare l'avvertimento, ma non ero sicuro se questo significasse che qualcos'altro non avrebbe funzionato.

In base a queste regole ho creato un elenco delle mie entità e le ho inserite in un ordine che avrebbe funzionato senza avvisi. Se un'entità ha una relazione che può dare un avvertimento, mi sono semplicemente assicurato che l'altra entità sia stata creata per prima.

Questo sembra aver funzionato. L'unica cosa che ho trovato è che, poiché il generatore è una cosa sola (non puoi usarlo per modificare un'entità), devi conoscere il tuo schema in anticipo e generare il lotto in una volta sola.

Problemi correlati