1

Spring 3.2、Hibernate 4.2 アプリケーションがあります。

私たちのアプリケーションには、基本的にあらゆる種類のファイルをアップロードできるアップロード モジュールがあります。ファイルをアップロードすると、データベース エントリも生成されます。

id, directory, filename, mimeType, userId

したがって、基本的に、アプリケーションのどこからでもファイルをアップロードできるはずです。また、可能性のあるすべてのエンティティに対して新しい UploadEntity が必要なわけではありません。そこで、アップロードにある種の一般的なテーブルを使用することを考えました。

id, directory, filename, mimeType, userId, FOREIGN_KEY

もちろん問題は、JPA でこの外部キーの具体的なデータ型を設定できないことです。これは、エンティティ A、B、C、または ... を指す可能性があるためですUUID。 2 つのソリューション:

  1. 単純foreignKeyなタイプUUIDを作成し、常に外部エンティティの ID を保存します。
  2. 注釈を付けてforeignKeyof 型Object@ManyToOne作成しますが、もちろんそのためのターゲット エンティティを提供することはできません。

しかし、これにはもっと優れた/より簡単な解決策があるかもしれません。どう思いますか?


私たちが使用する各エンティティは を実装することを忘れていましたが、Persistable<UUID>このインターフェイスを外部キーの型として使用することは可能ですか?

ところで:からの参照を使用する必要はありませんUploadedItem -> SomeEntity。もう一方の方法だけが必要です: SomeEntity -> UploadedItem.

4

0 に答える 0