4 Stimmen

Wie kann ich EclipseLink dazu bringen, MySQL InnoDB-Tabellen zu erstellen?

Es erzeugt standardmäßig MyISAM-Tabellen. Ich möchte es nicht dazu bringen, ein DDL-Skript zu generieren und dieses dann zu bearbeiten, wenn ich es vermeiden kann. Ich möchte auch vermeiden, den Standard-Tabellentyp meiner MySQL-Installation zu ändern, es sei denn, ich kann das für eine Online-Datenbank tun. Hat jemand eine Idee?

4voto

James Punkte 18499

Ich sehe keine andere Möglichkeit als die Bearbeitung der Skripte oder die Einstellung des Standardtyps in MySQL.

Es wurde ein Fehler protokolliert, bitte stimmen Sie dafür,

https://bugs.eclipse.org/bugs/show_bug.cgi?id=214519

EclipseLink unterstützt zwar das Erstellen von Tabellen mit einem postFix wie engine=InnoDB in seiner TableDefinition setCreationSuffix(), bietet aber keine Möglichkeit, diesen zu generieren, und stellt keinen Event- oder Plattform-Hook für die Standard-Tabellengenerierung zur Verfügung (was sehr nützlich wäre).

Sie könnten EclipseLink DefaultTableGenerator selbst verwenden, um Ihre Tabellen in einem SessionCustomizer selbst zu generieren. Sie würden generateDefaultTableCreator() aufrufen, dann eine Schleife durch die TableDefitions machen, das InnoDB-Suffix setzen und ihm dann sagen, dass er die Tabellen erstellen soll. Alle Klassen befinden sich im Paket org.eclipse.persistence.tools.schemaframework.

1voto

James Punkte 18499

1voto

Dzwiedziu-nkg Punkte 675

In EclipseLink 2.4 ist die:

eclipselink.ddl.default-table-suffix

nicht funktionieren.

In v2.4 müssen Sie verwenden:

eclipselink.ddl-generation.table-creation-suffix

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X