Pix*_*ler 3 java hibernate hibernate-mapping spring-data spring-data-jpa
如果我有这样的配置,可以使用吗?
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "FOREIGN_ID", nullable = false, insertable = false, updatable = false)
ForeignClass foreignClass;
Run Code Online (Sandbox Code Playgroud)
我认为不是,因为级联类型的行为与可插入和可更新参数相冲突。
你怎么认为?
它们的含义不同,并且彼此不冲突。
因此给出以下映射:
@Entity
@Table(name="player")
public class Player {
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name = "team_id", nullable = false, insertable = false, updatable = false)
Team team;
}
Run Code Online (Sandbox Code Playgroud)
cascade意味着当使用EntityManagertopersist()或merge()on 时player,JPA 也会自动调用persist()/ merge()on 该玩家的队伍。
insertable以及updatable是否允许分配新球队或更新球员的球队。对于DB表来说,就是Player表的team_id列的值是否允许插入或更新。
因此,一个是关于在表中插入/更新记录,而另一个是关于插入/更新表列Team的值,这是完全不同的事情。Playerteam_id
| 归档时间: |
|
| 查看次数: |
4411 次 |
| 最近记录: |