一尘不染

需要一个Hibernate中的主键@OneToOne映射的示例

hibernate

有人可以给我一个Hibernate中单向@OneToOne主键映射的示例吗?我已经尝试了多种组合,到目前为止,我得到的最好的东西是:

@Entity
@Table(name = "paper_cheque_stop_metadata")
@org.hibernate.annotations.Entity(mutable = false)
public class PaperChequeStopMetadata implements Serializable, SecurityEventAware {

private static final long serialVersionUID = 1L;

@Id
@JoinColumn(name = "paper_cheque_id")
@OneToOne(cascade = {}, fetch = FetchType.EAGER, optional = false, targetEntity = PaperCheque.class)
private PaperCheque paperCheque;
}

每当Hibernate尝试自动为上述映射生成模式时,它都会尝试将主键创建为blob(而不是long)(即PaperCheque的id类型)。有人能帮帮我吗
?如果我无法找到确切的解决方案,那么可以采取一些措施,但我希望得到任何答复。


阅读 199

收藏
2020-06-20

共1个答案

一尘不染

您的意图是在PaperChequeStopMetaData与PaperCheque之间建立1-1关系?如果是这样,则不能将PaperCheque实例定义为PaperChequeStopMetaData的@Id,而必须在PaperChequeStopMetaData中定义单独的@Id列。

2020-06-20