在JPA中持久保存具有自动生成PK的实体时

时间:2011-11-30 07:13:20

标签: java java-ee ejb jpa-1.0

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

Column(name = "CNTNR_SHPMNT_NUM")

@XmlAttribute(name = "cntnrShpmntNum")

private Long cntnrShpmntNum;

我有一个名为CNTNR的表,我使用身份生成了主键但在JPA中它不适用于我。给sql error-503表示尝试插入一个自动生成的列。当我尝试Column(name = "CNTNR_SHPMNT_NUM",insertable=false)时 它为我工作,但它没有传递生成的值返回。实体对象给我null返回甚至插入表中的行。

1 个答案:

答案 0 :(得分:0)

private long id;@GeneratedValue(...)之间添加@Column(...),因为您可能不希望列CNTNR_SHPMNT_NUM同时是值和PK。