ButteflyPersistenceの主キー
現在O/RマッパーでButteflyPersistenceを使っているのですが、主キーがうまくマッピングできていないらしく更新・削除の処理をすると”No primary key columns for object mapping”というエラーが発生します。主キーを割り当てる方法がございましたらご教授ください。
設定したファイルの内容は以下の通りです。
DBはH2を使っています。
CREATE TABLE user (
ID Identity,
NAME varchar(255) default NULL,
AGE Integer (2),
PRIMARY KEY (ID)
)
Userクラス
import com.jenkov.db.itf.mapping.AClassMapping;
import com.jenkov.db.itf.mapping.AGetterMapping;
import com.jenkov.db.itf.mapping.ASetterMapping;
@AClassMapping(mappingMode="modify", tableName="user")
public class User {
@SuppressWarnings("unused")
private static final long serialVersionUID = 1L;
private int id;
private int age;
@AGetterMapping(columnName="ID",databaseGenerated=true)
public int getId() {
return id;
}
@ASetterMapping(columnName="ID")
public void setId(int id) {
this.id = id;
}
private String name;
@AGetterMapping(columnName="NAME")
public String getName() {
return name;
}
@ASetterMapping(columnName="NAME")
public void setName(String name) {
this.name = name;
}
@AGetterMapping(columnName="AGE")
public int getAge() {
return age;
}
@ASetterMapping(columnName="AGE")
public void setAge(int age) {
this.age = age;
}
}
お礼
有り難うございました。 発番テーブル という言葉をよく聞きましたので、ものすごく簡単にシリアル管理が出来るものかと思っておりましたが、どうもそうではないようですね・・・ やはりシーケンスを使った方が間違いないのでしょうか