大規模なデータベースをある DBMS から別の DBMS に変換しています。これには主に JDBC を使用していますが、いくつかの Hibernate 呼び出しが混在しています。これまでのところ、データベースのごく一部を移行するのに 7 時間かかります。これを軽減するために、データベースのさまざまな部分を同時に移行できると判断しました。スレッドを使用するように移行ルーチンを書き直しました。Java ヒープ スペースの問題を解決し、各スレッドで個別の JDBC セッションと Hibernate セッションが存在することを確認した後、最後の 1 つの問題に気付きました。SchemaExport を作成し、移行スレッドが開始される前に実行しています。何が欠けていますか?
1 に答える
1
どうやら、不明なエンティティは、休止状態が例外で参照されているクラスを認識していない場合に発生する例外です。たとえば、Myclass
クラスの場合:
Exception in thread "main" org.hibernate.MappingException: Unknown entity: data.Myclass
<classname>.hbm.xml
各クラスを hibernate が認識する必要があるため、hibernate マッピングに対応するファイルが必要です。また、これらのファイルを hibernate のメイン構成ファイルでリソースとして参照する必要があります。でhibernate.cfg.xml
、これは hibernate にクラスについて知らせる行Myclass
です:
<mapping resource="Myclass.hbm.xml" />
于 2012-10-29T22:23:51.603 に答える