Erstellen von Datenbanktabellen aus den Entitäten
Ist im Ruhezustand so etwas wie code-first-Ansatz von Entity Framework?
Ich versuche vorbereiten Datenbank-Tabellen aus java-Klassen (MySQL). Ich habe bereits vorbereitet java Klassen mit JPA-Annotationen, aber ich bin nicht sicher, was jetzt zu tun (ich bin mit IntelliJ). Was sollte ich in meinem main zu erstellen thoose Tabellen? Oder sollte ich einige tools?
Einer meiner Klassen sieht wie folgt aus:
@Entity
public class Item {
@Id
@GeneratedValue
private long id;
@Column
private String text;
@ManyToMany(mappedBy = "items")
private Set<Container> containers = new HashSet<Container>();
public long getId() {
return id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Set<Container> getContainers() { return containers; }
}
- möglich, Duplikat der Funktioniert Hibernate erstellen von Tabellen in der Datenbank automatisch
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die
hibernate.hbm2ddl.auto
- Eigenschaft mit dem Wertcreate
. Wenn das so ist, wenn Sie die Anwendungen ausführen ersten mal, die Tabellen erstellt werden.In hibernate.cfg.xml Konfiguration-Datei Sie können eine Eigenschaft namens
hbm2ddl.auto
erzählt, dass hibernate eine Tabelle erstellen für Sie:Wenn Sie Ihre Anwendung ausführen, für die erste Zeit, dann legen Sie die Eigenschaft auf
create
und später können Sie es ändern, umupdate
.Folgen Sie diesem link für mehr details:
Hibernate hbm2ddl.auto-Werte möglich sind und was Sie tun?
Zur Klarstellung: ich war mit JPA2, so wurde die Konfiguration in persistence.xml. Was für mich gearbeitet wurde-Einstellung:
ohne "hibernate." es war nicht die Arbeit.
Auch, um es zu starten, die ich brauchte, zu bereiten main-Funktion mit dem erstellen EntityManager, da die Zuordnung zu db passiert, wenn er angelegt ist:
In meinem Fall, habe ich gleich erwähnt
OneToMany
Beziehung zwei mal in einer master-Tabelle. Da habe ich zwei Beziehungen. Ich habe verwendet@Fetch(value = FetchMode.SUBSELECT)
in zwei Beziehungen. Das ist eine Arbeit für mich in Ordnung.