2

私が取り組んでいるプロジェクトは、永続性のためにHibernateを使用しています。

プロジェクトはサブプロジェクトに分割されており、そのうちの4つがここに関連しています。

  • メッセージドーム
  • ユーザーサービス
  • メッセージサービス
  • ケースサービス

メッセージエンティティ(user-dom)には、String userIDフィールドとフィールドが含まれてい@Transient String userNameます。別のエンティティであるCaseは、MessageとOneToOneの関係にあります。問題は次のとおりです。

  • メッセージをロードするたびに(直接、メッセージサービスで、またはケースサービスでケースをロードすることによって間接的に)、userNameフィールドを設定する必要があります。
  • userNameは、user-serviceを呼び出すことによって取得されます。
  • ユーザーサービスをmessage-domから呼び出すことはできません(依存関係の理由から)。

エンティティに@PostLoadアノテーションがあることを確認しましたが、エンティティからサービスを呼び出すことができないため、これらは明らかに役に立ちません。現在、サービスコールは手動で行っていますが、これはエラーが発生しやすくなっています(特に、ケース内に間接的にメッセージをロードする場合)。

メッセージエンティティがロードされるたびにフィールドが設定されるようにするにはどうすればよいですか?

4

1 に答える 1