【发布时间】:2014-05-17 18:47:49
【问题描述】:
我有 2 个实体:Field 和 ViewOptions
与问题无关的字段和方法省略
表结构:
CREATE TABLE FIELD (
ID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (ID),
);
CREATE TABLE VIEW_OPTIONS (
ID INT NOT NULL AUTO_INCREMENT,
FIELD_ID INT NOT NULL,
PRIMARY KEY (ID),
INDEX (FIELD_ID ASC),
CONSTRAINT
FOREIGN KEY (FIELD_ID)
REFERENCES FIELD (ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
映射:
@Table(name = "FIELD")
@Entity
public class Field {
@OneToOne(mappedBy ="field")
ViewOptions viewOptions;
@Table(name = "VIEW_OPTIONS")
@Entity
public class ViewOptions {
@OneToOne
@JoinColumn(name = "FIELD_ID")
Field field;
在这种关系中,所有者方是 ViewOptions,反方是 Field。 我想做的是交换双方 - 让 Field 成为所有者。 但是如果我像这样标记 viewOptions
@OneToOne
@JoinColumn(name = "FIELD_ID")
ViewOptions viewOptions;
Hibernate 期望字段表中的连接列。
有什么方法可以让hibernate在VIEW_OPTIONS中搜索join列?
【问题讨论】:
标签: java hibernate jpa hibernate-mapping one-to-one