春のデータ カウチベース リファレンス ガイドで述べたように、@Version アノテーションを使用して楽観的ロック機能を有効にしようとしています。私の期待は、ドキュメントが変更されたときにバージョンフィールドに値が入力されることです。しかし、バージョン フィールドにデータが入力されていないようです。常に 0 です。以下は私の Pojo で、crudRepository を使用してドキュメントを保存します。更新時にバージョンを 1 として送信して、楽観的ロック例外をシミュレートしようとします。しかし、例外は発生せず、更新はうまくいきました。ドキュメントはあまり役に立たないので、先に進むことができませんでした。どんな助けでも大歓迎ですか?
@Document
public class Project extends BusinessEntity {
private static final long serialVersionUID = 1665165729053936288L;
@NotNull
@Field
private String name;
@Field
private String description;
@Version
private long version;
public Project() {
}
public Project(String name) {
this.name = name;
}
public Project(String name, String description) {
super();
this.name = name;
this.description = description;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the description
*/
public String getDescription() {
return description;
}
/**
* @param description the description to set
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @return the version
*/
public long getVersion() {
return version;
}
/**
* @param version the version to set
*/
public void setVersion(long version) {
this.version = version;
}
}