OpenJPA:@GeneratedValue被忽略

时间:2014-04-15 15:24:20

标签: jpa db2 websphere openjpa

我尝试使用JPA来保存我的对象Categorie,但我不能使用标记“@GeneratedValue(strategy = IDENTITY)”,因为它会生成错误。

数据库是DB2:

CREATE TABLE "Schema"."Categorie" (
        "idCategorie" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1), 
        ...

实体:

@Entity
@Table(name="\"Categorie\"")
public class Categorie implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "\"idCategorie\"", insertable = false, updatable = false)
    @GeneratedValue(strategy = IDENTITY)
    private int idCategorie;

    @Column(name="\"description\"")
    private String description;
    ...

错误:

Caused by: <openjpa-2.2.3-SNAPSHOT-r422266:1508185 fatal general error> 

org.apache.openjpa.persistence.PersistenceException: "IDCATEGORIE" n'est pas autorisé dans le contexte dans lequel il est utilisé.. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.63.123 {prepstmnt -844100720 INSERT INTO "Schema"."Categorie" ("description", "idCatParent", "nom") VALUES (?, ?, ?) [params=?, ?, ?]} [code=-206, state=42703]SQLCA OUTPUT[Errp=SQLNQ075, Errd=-2145779603, 0, 0, 0, -10, 0]
"IDCATEGORIE" n'est pas autorisé dans le contexte dans lequel il est utilisé.. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.63.123
Une erreur s'est produite lors d'une action système implicite de type "2". Les informations renvoyées pour l'erreur comprennent le SQLCODE "-206", le SQLSTATE "42703" et les jetons de message "IDCATEGORIE".. SQLCODE=-727, SQLSTATE=56098, DRIVER=3.63.123
Une erreur s'est produite lors d'une action système implicite de type "2". Les informations renvoyées pour l'erreur comprennent le SQLCODE "-206", le SQLSTATE "42703" et les jetons de message "IDCATEGORIE".. SQLCODE=-727, SQLSTATE=56098, DRIVER=3.63.123
FailedObject: classe.Categorie@9eecc5d7

当我尝试删除“insertable = false,updatable = false”时,我有同样的错误。

如果我删除@GeneratedValue(strategy = IDENTITY)它可以工作但是我无法获得idCategorie。

我很抱歉我的英语,我希望你能帮助我:)。

求助:

DATABASE必须没有引用..

CREATE TABLE Schema.Categorie (idCategorie INTEGER

0 个答案:

没有答案