tualizando a versão de hibernação manualmen

Tenho duas classes que Foo e Bar mapearam como @OneToOne (bidirecional) usando o Hibernate (3.6.1 final) com JPA (2.0) como -

@Entity
public class Foo{
    @Id
    private Long id;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "foo")
    private Bar bar;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "foo")
    private Qux qux;

    @Version
    private int version;

    // getters and setters omitted
}

@Entity
public class Bar{
    @Id
    private Long id;

    @OneToOne
        @JoinColumn(name = "foo_id",  nullable = false)
    private Foo foo;

    // getters and setters omitted
}

@Entity
public class Qux {
    @Id
    private Long id;

    @OneToOne
        @JoinColumn(name = "foo_id",  nullable = false)
    private Foo foo;

    // getters and setters omitted
}

Observe que - Bar e Qux não tem@Version column

Se atualizarmos o Bar, o hibernate não aumentará a versão do Foo e o mesmo para o Qux. Mas nossa lógica de negócios precisa - se alguém atualizar Bar no Foo e outro segmento estiver tentando atualizar o Qux do mesmo Foo, mas não tiver o Bar atualizado e vice-versa, essas atualizações falharã
Como o hibernate não atualiza a propriedade version do Foo se atualizarmos o Bar, decidimos atualizar a versão do Foo manualmente (eu sei que é bem estranho e não recomendado) se atualizarmos o Bar e o Qu
Funciona perfeitamente bem .. mas estou preocupado com alguns casos extremos de concorrência que podem falhar ou ter comportamento não intenciona
É seguro fazer esse tipo de ajuste na versão para esse fim? OU existe outra alternativa melhor para isso (eu já tentei aumentar a força otimista / pessimista)

questionAnswers(1)

yourAnswerToTheQuestion