Jboss7 環境で Hibernate4.1 を使用し、Postgres9 データベースをバックエンドとして使用しています。という名前のテーブルが 1 つありますdocuments
。次のようになります。
CREATE TABLE documents (
id serial primary key,
name varchar(255) not null,
path varchar(255) not null,
content text
);
Document
これで、このテーブルを反映するという名前のエンティティが既にあります。
@Entity
public class Document {
@Id @GeneratedValue(strategy = IDENTITY)
Integer id;
@Column(nullable = false)
String name;
String path;
@Type(type = "text")
String content;
}
path
実際のテーブル/エンティティはやや大きく、エンティティには、ファイル (非空) または文字列のみ (非空)によってサポートされているかどうかに基づいて、一連のロジックが関連付けられていますcontent
。FileDocument
ファイル処理を、から拡張されるという名前の別のエンティティに分割したいと考えていますDocument
。これを Hibernate でマッピングできますか?
path
単一のテーブル継承を使用して、別の列を追加する必要なく列に基づいて、これを「自然に」表現できればと思います。
content
ドキュメントを解析またはOCRできる場合、「ファイルに裏打ちされた」ドキュメントはまだ空ではない可能性があることをおそらく追加する必要があります。