我想在我的实体中使@Embedded字段“foo”在JPA 2.0中不可更新
@Entity
public class Entity {
@Id
@SequenceGenerator(name = "Seq", sequenceName = "SEQ", allocationSize = 10)
@GeneratedValue(generator = "Seq", strategy = GenerationType.SEQUENCE)
String id;
@Embedded
private FooEmbeddable foo;
}
@Embeddable
public class FooEmbedable{
String fooString;
String barString;
}
如果不是@Embeddable我有另一个实体我可以使用@Column注释的updatable = false属性,但@Embedded中没有这样的属性
我找到了一个示例,即@Column(updatable = false)注释直接用于Embeddable的字段。即。
@Embeddable
public class FooEmbedable{
@Column(updatable=false)
String fooString;
@Column(updatable=false)
String barString;
}
..但如果我将FooEmbedable用于另一个我希望它可以更新的表会怎样?
我想念一下吗?
谢谢
答案 0 :(得分:0)
updatable = false更适用于您有多个映射同一列的映射,并且您想将一个映射指定为所有者。
如果您只是不想更新某些内容,那么就不要在应用程序中更改它(或者甚至不为它添加set方法)。