【发布时间】:2016-05-19 14:05:18
【问题描述】:
我的代码:
financialTransactionEntity.getFinancialTransaction_5000().setFinancialTransactionEntity(financialTransactionEntity);
还有我的课程:
@Entity
@Table(name = "master_card_daily_financial_transaction_entity")
public class FinancialTransactionEntity {
private Long id;
private FinancialTransaction_5000 financialTransaction_5000;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@OneToOne(mappedBy = "financialTransactionEntity",
targetEntity = FinancialTransaction_5000.class,
cascade = javax.persistence.CascadeType.ALL)
@Cascade({org.hibernate.annotations.CascadeType.ALL})
public FinancialTransaction_5000 getFinancialTransaction_5000() {
return financialTransaction_5000;
}
public void setFinancialTransaction_5000(FinancialTransaction_5000 financialTransaction_5000) {
this.financialTransaction_5000 = financialTransaction_5000;
}
}
--
@Entity
@Table(name = "master_card_daily_financial_transaction_5000")
public class FinancialTransaction_5000 {
private Long id;
private FinancialTransactionEntity financialTransactionEntity;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@OneToOne(targetEntity = FinancialTransactionEntity.class,
cascade = javax.persistence.CascadeType.ALL)
@Cascade({org.hibernate.annotations.CascadeType.ALL})
public FinancialTransactionEntity getFinancialTransactionEntity() {
return financialTransactionEntity;
}
public void setFinancialTransactionEntity(FinancialTransactionEntity financialTransactionEntity) {
this.financialTransactionEntity = financialTransactionEntity;
}
}
但是我会在数据库中得到如下:
table: master_card_daily_financial_transaction_entity
+-----+------------------------------+
| id | financialTransaction_5000_id |
+-----+------------------------------+
| 1 | NULL |
table: master_card_daily_financial_transaction_5000
+-----+-------------------------------+
| id | financialTransactionEntity_id |
+-----+-------------------------------+
| 1 | 1 |
如何确保我的 FinancialTransaction_5000_id 也是 1?
【问题讨论】:
-
这是一个现有的架构吗?你真的想要两个表中的 FK 吗?
-
This might help。为什么要在双方都存储密钥关系似乎很不寻常,这是有原因的吗?
-
你需要提到@JoinColumn
-
@shankarsh15 :
@JoinColumn是可选的
标签: hibernate jpa identifier one-to-one