2015-02-19 9 views
5

Próbuję uruchomić aplikację, a moim pomysłem było grzechotanie obiektów najpierw za pomocą wiersza poleceń, a następnie praca nad interfejsem użytkownika. Jest to o wiele trudniejsze, niż początkowo sądziłem, ponieważ w pewnych okolicznościach otrzymasz ostrzeżenie, że generator nie będzie działał. Chodzi o to, czy jest to OneToMany czy ManyToOne, czy też ta istota jest stroną będącą właścicielem tej relacji.jHipster Jakie zamówienie na tworzenie jednostek

Jaki jest najlepszy sposób obejścia tego?

Jeśli uda mi się wypracować reguły, to mogę zdecydować, w jakiej kolejności tworzyć rzeczy. Obawiam się, że przy skomplikowanym schemacie nie ma porządku, który może działać bez ostrzeżeń i rzeczy niedziałających.

Innym moim pomysłem było najpierw wygenerowanie elementów bez relacji, a następnie edycja plików json w celu dodania relacji. Wtedy może znowu będę mógł uruchomić generator na każdej jednostce. Nie jestem pewien, czy to zadziała, a ja nie jestem w 100% pewny, czy wymagane są prawidłowe właściwości json.

Czego próbowali inni ludzie?

Odpowiedz

5

Zaplanuj swoje jednostki i relacje, aby podczas tworzenia jednostki wszystkie podmioty, od których to zależy, zostały już utworzone. Jednym ze sposobów na to jest użycie projektanta schematu lub po prostu udokumentować elementy i umieścić je w kolejności, w jakiej trzeba je utworzyć.

W przeciwnym razie, jak wiadomo, trzeba ręcznie połączyć te relacje lub odtworzyć je za pomocą generatora encji.

Ale nawet przy planowaniu, będziesz musiał użyć kombinacji tych metod w prawdziwym świecie. To zależy od tego, jak dużo zmodyfikowałeś wygenerowany kod, która metoda jest najszybsza.

4

Odpowiedź Rori jest w zasadzie tym, co zrobiłem, ale chciałem podać trochę więcej szczegółów.

Najpierw przeszedłem przez generator i stworzyłem każdy rodzaj relacji, aby zobaczyć, które z nich działały, a które ostrzegały. Stwierdziłem, że czasami zadziałało, a czasem nie, ale nigdzie nie było udokumentowane.

Te związki zawsze działają.
OneToMany
OneToOne (nie właściciel)
ManyToMany (nie właściciel)

związki te działają tylko wtedy, gdy istnieje już inny podmiot.
ManyToOne
OneToOne (właściciel)
ManyToMany (właściciel)

Powodem nie działają zawsze jest taka sama. Wszystkie te wymagają utworzenia klucza obcego na drugiej tabeli, którego jHipster nie może zrobić, jeśli jeszcze nie istnieje. Można oczywiście zignorować ostrzeżenie, ale nie byłem pewien, czy to oznaczało, że coś innego nie zadziałałoby.

Na podstawie tych zasad sporządziłem listę moich podmiotów i umieściłem je w zamówieniu, które działałoby bez ostrzeżeń. Jeśli podmiot miał związek, który może dać ostrzeżenie, po prostu upewniłem się, że drugi podmiot został utworzony jako pierwszy.

Wygląda na to, że zadziałało. Jedyną rzeczą, którą odkryłem jest to, że generator jest rzeczą jednorazową (nie można jej użyć do modyfikacji encji), musisz znać swój schemat z góry i wygenerować los za jednym razem.

Powiązane problemy