我在 Jboss7 环境和 Postgres9 数据库中使用 Hibernate4.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化,“文件支持”的文档仍然可以是非空的。