としてVERSIONを含めるようにエンティティクラスの原因クエリに@Versionを設定私はJPA Toplinkのエッセンシャル、Netbean6.8、私のエンティティクラスでのGlassFish v3のJPA楽観的ロック - 列
を使用している私は、トランザクションでoptimistic locking
を有効にするには、@Version annotation
を追加しましたしかし、注釈を追加した後にというクエリが開始され、VERSIONを列として含めるとSQL例外がスローされます。
これまで私が見てきたチュートリアルでは、これについては言及されていません。何が間違っていますか?
スニペット
public class MasatosanTest2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Column(name = "username")
private String username;
@Column(name = "note")
private String note;
//here adding Version
@Version
int version;
使用したクエリ:
SELECT m FROM MasatosanTest2 m
Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException
Call: SELECT id, username, note, VERSION FROM MasatosanTest2
これは正常です。オプティミスティック・ロックでは、データベース側に専用の制御列が必要です。 –