@Id列上的JPA一对一联接.引用表中未更新联接的列



我有两个表Car和Status。这种关系是一对一的汽车有一个状态

Car Table
Id (PK)
Name
status_id(FK)
Status Table
Id(PK)
status_code

关系为car.status_id=status.id

实体

@Entity
class Car{
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
Long id;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "status_id", referencedColumnName = "id", insertable =  false, updatable = false)
Status status

@Column(name="status_id")
Integer statusId
..
}
@Entity
class Status{
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long id;
private int status_code;
}

保存汽车对象时:

Car{ id=null, name="my car", status_id=null, status={id=null, status_code=123}}
repo.saveAndFlush(car)

保存在表中的数据是:

Car
|Id|name|status_id|
|1|mycar|null     | <------THIS NULL IS MY ISSUE

(这应该用状态表中插入的id来更新。如何实现?

Status
|id|status_code|
|1 |123        |

没有必要单独定义statusId字段。只要删除下面的行,它就会按预期工作。

@Column(name="status_id")
Integer statusId

最新更新