Java 在JPA2.0和DB2数据库中生成主键时出现问题
当我试图保存这个对象时,希望JPA生成一个主键,但我得到了下面的错误Java 在JPA2.0和DB2数据库中生成主键时出现问题,java,jpa,db2,openjpa,Java,Jpa,Db2,Openjpa,当我试图保存这个对象时,希望JPA生成一个主键,但我得到了下面的错误 public class A implements Serializable { /** The strategic_ goal_ key. */ @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "A_KEY") private String A_KEY; } 关于如何自动生成主键值的上述任何建议如错误消息所述,缺少表CGSP.OPENJPA
public class A implements Serializable {
/** The strategic_ goal_ key. */
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "A_KEY")
private String A_KEY;
}
关于如何自动生成主键值的上述任何建议如错误消息所述,缺少表CGSP.OPENJPA_SEQUENCE_表。由于对OpenJPA一无所知,我冒昧地猜测它没有正确安装或配置。您的DB2服务器运行在什么操作系统下?您的连接字符串设置是什么?SQLCODE=-204,SQLSTATE=42704在IBM DB2中表示“对象不存在”。因此,要么该表不存在,要么该用户没有该表的读取权限(如果存在)。
Caused by: org.apache.openjpa.lib.jdbc.
ReportingSQLException: "CGSP.OPENJPA_SEQUENCE_TABLE"
is an undefined name.. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.52.95 {prepstmnt 1791912654
SELECT SEQUENCE_VALUE
FROM CGSP.OPENJPA_SEQUENCE_TABLE
WHERE ID = ? FOR READ ONLY WITH RS USE AND KEEP UPDATE LOCKS
[params=(int) 0]} [code=-204, state=42704]