如何在Hibernate中将单个java模型对象映射到两个相同的视图?

时间:2016-11-22 17:15:43

标签: java hibernate jpa

我试图将单个java类映射到两个相同的视图取决于此类中字段的值:

这是我的java类:

@Entity
@Immutable
@Table(name = "VIEW_ACCOUNT_PERMISSION")
public class AccountPermission implements Serializable {

@Id
@Column(name = "PERMISSION_ID")
private String id;

@Column(name = "ACCOUNT_ID")
private Long accountId;

@Column(name = "OBJECT_TYPE_ID")
@Type(type = "refObjectType")
private RefObjectType objectType;

// getters and setters
}

现在它只映射到一个视图(" VIEW_ACCOUNT_PERMISSION")。更不用说OBJECT_TYPE_ID字段可以是1,2或3。 现在我想创建另一个与" VIEW_ACCOUNT_PERMISSION"相同的视图让我们说" VIEW_ACCOUNT_PERMISSION2"将OBJECT_TYPE_ID等于3的记录(1和2将保留在旧视图中)。

我可以创建另一个java模型并将其映射到新视图但我不喜欢这样。有没有办法使用单个java模型,然后根据objectType的值将它(可能区分)映射到两个视图?

1 个答案:

答案 0 :(得分:0)

您可以根据实体名称进行搜索。一个Hibernate pojo类可以表示具有不同表的多个实体名称。