以下是实体:
@Entity
class Transaction implements Serializable {
@Id @GeneratedValue
Long id
@Column(nullable = false, updatable = false)
Long trNumber
@OneToMany(mappedBy = "transaction", cascade = CascadeType.ALL, orphanRemoval = true)
Set<Entry> entries = new HashSet()
@Column(updatable = false, nullable = false)
@Temporal(TemporalType.TIMESTAMP)
Date creationDate
}
我希望条目不可更新,但@OneToMany不允许使用updatable=false属性。
以下是Entry实体:
@Entity
class Entry implements Serializable {
@Id @GeneratedValue
Long id
@ManyToOne(cascade= CascadeType.ALL)
@JoinColumn(updatable = false, nullable = false)
Transaction transaction
}
我可以使用JPA监听器来在每次尝试更新交易时抛出异常,但我希望像其他属性一样在实体级别设置updatable=false行为。