J'ai une entité qui utilise @version sur l'un de ses champs, je veux réaliser que si deux transactions modifient cette entité dans la en même temps, on échouera (et obtiendrez Optimistic Lock Exception) et l'autre réussira.@Version en veille prolongée, lors de l'exécution dans env cluster ne fonctionne pas ... (verrouillage Optimiste)
quand je lance ce test sur une seule machine virtuelle Java cela fonctionne très bien, mais quand je lance dans un env cluster, réussir et No Lock Optimiste est jeté les deux transactions.
public class DeploymentLock {
@Column(name = "DEPLOYMENT_COUNTER")
private Long deploymentCounter;
@Version
@Column(name = "ENTITY_VERSION")
private Long version;
...
}
suis-je manque quelque chose? dois-je utiliser "@Generated (GenerationTime.ALWAYS)" sous @Version?
Im avec Spring et hibrnate dans mon application par la façon ... une idée?
Avez-vous une documentation à propos de Lock JPA/Hibernate dans un environnement de cluster? –