JPA @Version: ¿cómo usarlo?

@Entity
public class Person {
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;

    private int salary;

    @Version
    private long version;

    // ...getters and setters
}
¿Se requiere crear un setter / getter paraversion?Al persistir esta entidad con Hibernate, no necesito establecer este valor manualmente, ¿verdad?¿Qué más necesito configurar para usar la verificación de concurrencia optimista con Spring'shibernateTemplate.saveOrUpdate? ¿Todas las bases de datos son compatibles?¿Cómo hacer una prueba unitaria de esta entidad? En mi base de datos, todos mis registros que muestran el campo de versión tienen un valor de 0Will llamandohibernateTemplate.saveOrUpdate ¿Incrementar el valor de la versión cada vez?

Respuestas a la pregunta(1)

Su respuesta a la pregunta