0

Hibernate を OR Mapper として使用する Java プロジェクトがあります。Oracle と Mysql の両方で動作するプロジェクトが必要です。一部の顧客は Oracle をインストールしたくないためです。シーケンスを持つエンティティに @sequenceGenerator アノテーションを追加しました。しかし、プロジェクトはこれらの注釈を使用して Mysql DBMS に接続できません。変更なしで、mysql と Oracle の両方のモードでシーケンスを使用できる方法はありますか?

4

2 に答える 2

0

私の知る限り、それは不可能です。

MySQL はAUTO_INCREMENTをサポートし、Oracle はSEQUENCEをサポートします

データ型やインデックスなど、他にも考慮すべき要素がたくさんあります

Oracle はORDBMSであり、mysql はDBMSであるため、MySQL に存在する多くの機能が不足しています。

解決

それぞれに別々のデータベースを使用してこれを行うことができると思います

[ Oracle から MySQL にデータを変換する無料のツールがたくさんあるので、それらを使用できます。それらのいくつかでさえ無料ではありませんが、それらを使用して構造を変換できますlink1 link2]

データベースの移行には、移行元データベースと移行先データベースの両方のデータ型、インデックス、列とテーブルのオプションなどを完全に理解する必要があります

また

SEQUENCESもサポートし、GPLでもあるPostgreSQlを使用できます

于 2013-01-23T09:55:54.987 に答える
0

最も移植性の高い方法は、TableGeneratorを使用することです。データベース プロバイダー固有の構造が使用されていないため、移植性があります。最後に生成された値はデータベース テーブルに格納され、値は SQL クエリを介して取得およびインクリメントされます。

使用法は、Hibernateのドキュメントにも記載されています。

于 2013-01-23T19:50:57.527 に答える