gpt4 book ai didi

java - JPA 乐观锁 - 将 @Version 设置为实体类会导致查询包含 VERSION 作为列

转载 作者:行者123 更新时间:2023-12-02 00:47:28 25 4
gpt4 key购买 nike

我正在使用 JPA Toplink Essential、Netbean6.8、GlassFish v3

在我的实体类中,我添加了@Version注释以在事务提交时启用乐观锁定,但是在添加注释之后,我的查询开始包含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

最佳答案

您应该将版本作为数字列添加到表中。该列将用于乐观锁定。

但我确实更喜欢乐观锁定的日期字段,这样您就可以跟踪该对象何时更改。

关于java - JPA 乐观锁 - 将 @Version 设置为实体类会导致查询包含 VERSION 作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com