@Entity public class Person { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id; private int salary; @Version private long version; // ...getters and setters }
version
hibernateTemplate.saveOrUpdate
我会说:
我认为单元测试不会进入数据库,因此涉及数据库的测试称为集成测试。您不应该过多地使用它们,因为它们速度很慢,并且它们并没有真正测试您的代码,但是更多的是Hibernate / Driver / Database代码…您应该信任它们,或者仅对其进行一次测试,但不能对于您所有的实体。 要查看大于0的版本值,请在事务中读取/修改/更新您的实体,版本将增加一。退出交易,再做一次,价值增加…
每次修改数据库行时,版本都会增加。