2

Hibernate Toolsを使用して、STS2.9.2およびHibernateTools4.0.0を使用してMySQL5.5.27からリバースエンジニアリングを行っています。

POJOクラスを正しく生成しますが、テーブル全体で定義された外部キー関係を取得しません(つまり、セットも関係もまったく作成されません)。

このツールがMySQLで動作するかどうか、または私が間違っていることについて、あなたの経験から何か考えはありますか?

ありがとう、

ボブ

4

3 に答える 3

1

OK、ついに動作しました!

問題は、技術的な性質のすべてのものと同様に、単純で深遠なものでした。

一言で言えば:CaseSensitive

私はcapitaliZatioN(つまり、Person、Phone)を使用してテーブルを作成し、MySQL Workbenchを使用して外部キーを作成しましたが、次のようになりました。

制約FK_Phone_Person外部キー(person_id)参照Personperson_id

それ以外の

制約FK_Phone_Person外部キー(person_id)参照personperson_id

大文字と小文字の区別に注意してください。

ケース全体が問題だったときに、その気の毒なことを機能させるためにたくさんの血、汗、涙を費やした後、すっごく幸せです!

于 2012-10-16T21:25:35.400 に答える
1

多くの場合、mysqlのデフォルトエンジンもこの問題を引き起こします。つまり、テーブルの作成に使用されるデフォルトエンジンが「MyISAM」の場合は、「InnoDB」に変更してください。変更するクエリはALTERTABLEtable_name ENGINE=InnoDBです。、これがうまくいくことを願っています:)

于 2012-11-06T17:20:18.253 に答える
0

私の経験では、リバースエンジニアリングツールが機能するには特定の制約が必要です。@ OneToManyリレーションシップがある場合は、両方のテーブルのIDを持つ中間テーブルと、null値や孤立した行を使用できないという制約が必要です。

また、テーブルはエンティティに応じて名前を付ける必要があり、中間テーブルは機能するように名前を付ける必要がありますowning_entity_entity2

于 2012-10-16T16:54:09.883 に答える