У меня есть ошибка Hibernate, которая, вероятно, очень проста в решении, но я не могу понять это. Я использую Spring & Hibernate & MS SQL. У меня есть объект Employee A, который я выбираю для редактирования из списка. Если я открою Employee A на одной вкладке, тогда я открою Employee B на другой вкладке. Если я затем отправлю Employee A, а B все еще открыт, он сохранит данные от A до B - перезаписав B. Я просмотрел мои Equals & Hashcode, и у меня есть столбец Version и даже попытался возиться с уровнем изоляции SQL. Я до сих пор не понял этого. Это становится серьезной проблемой, так как часто пользователь одновременно открывает двух сотрудников одновременно для копирования из одного в другое. Я не использую аннотации и использую файлы java + hbm для своих сопоставлений. Вот мои равно & хэшHibernate - 2 записи открытых окон перезаписываются другие
public boolean equals(Object other) {
if ((this == other)) {
return true;
}
if (!(other instanceof Employee)) {
return false;
}
Employee castOther = (Employee) other;
return this.userLogin.equals(castOther.getUserLogin());
}
public int hashCode() {
return new HashCodeBuilder().append(this.getUserLogin()).toHashCode();
}
Вот моя версия декларации в моем НВМ
<version name="version" column="VERSION" unsaved-value="negative" />
Нет - нет печенья вообще –