Maven対応のプロジェクトをEclipseにインポートしています。 Eclipseから、次の行のsystem-uuid部分に「永続性ユニットに「system-uuid」という名前のジェネレーターが定義されていません」というエラーが表示されます。
@Id @GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(length = 36)
public String getId() {
return id;
}
プロジェクトはコマンドラインから正しくビルドされます。 Eclipseでこのエラーが発生する原因とその修正方法を教えてください。
永続性ファイルは次のようになります。
<persistence xmlns="http://Java.Sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Java.Sun.com/xml/ns/persistence
http://Java.Sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="xxxx"/>
</persistence>
エラーを変更することにより、[設定]-> Java永続性-> JPA-> [クエリとジェネレーター]の下のエラー/警告]でエラーをオフ/ダウンできます 'ジェネレーターは永続性ユニットで定義されていません'警告に。
これは、EclipseのDaliのHibernateTools拡張機能のバグのようです。これをHibernateToolsに報告するか、より新しいバージョンで修正される可能性があります。
Eclipse Luna:これはうまくいくようです
Project -> Clean
Githubからプロジェクトをインポートした後、Eclipsemarsでほぼ同じエラーが発生しました(カスタムIDジェネレーターを使用しました)。
エラー:「idGenEchantillon」という名前のジェネレーターが永続性ユニットで定義されていません
ですから、私の答えは実際には主要な質問ではなく、ここで見ることができる私のと同じエラーを抱えている他の開発者のためのものです。
コード :
@Id
@GenericGenerator(name = "idGenEchantillon", strategy = "com.labo.model.KeyGenaratorForEchantillon")
@GeneratedValue(generator ="idGenEchantillon")
@Column(name = "ID_ECHANTILLON", length = 12)
private String idEchantillon;
Mavenを使用して依存関係を管理しました。