[@Version] 可以在实体 bean 中使用@Version 注解,通过这种方式可添加对乐观锁定的支持 一个类中只能有一个@Version注解 注意此属性 不能用 String 可取值 int Integer Long org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType 应采用 @Version private int versionCount;
package sun.rain.amazing.javax.anno.domain; import lombok.Data; import org.hibernate.type.VersionType; import javax.persistence.*; /** * @author sunRainAmazing */ @Entity @Data public class UserVersion { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String username; /** * 用于标注版本、乐观锁 * 可以在实体 bean 中使用@Version 注解,通过这种方式可添加对乐观锁定的支持 * 注意类型 是 int 类型 而不是 String 类型 * */ @Version private int versionCount; }
/* CREATE TABLE `user_version` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `version_count` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 */