У меня возникла странная проблема в спящем режиме. Работа в многопоточном env при попытке вставить в одну из таблиц получение дубликатов записей в таблице. Только первичный ключ отличается, остальные остальные поля становятся точно повторяющимися.Повторяющиеся записи в Hibernate
Использование Hibernate + Oracle и использование Spring-HibernateTemplate объекта.
Вот часть моего моего BO-класса и ниже данного кода, чтобы сохранить объект. Не использовать какие-либо переходные поля.
Были отмечены другие посты, связанные с этим, но ни одна из них не касается основной причины проблемы. Я не хочу вводить какие-либо ограничения/уникальные индексы в таблице db.
@Entity
@Table(name="ADIRECIPIENTINTERACTION")
@Lazy(value = true)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@GenericGenerator(name="recipientInteractionSeq", strategy = "native", parameters =
{ @Parameter(name="sequence", value="SEQiRecipientInteractId")})
public class RecipientInteractionBO extends BusinessObject{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator = "recipientInteractionSeq", strategy = GenerationType.AUTO)
@Column(name="IRECIPIENTINTERACTIONID")
private long lId; ....
И вот код, используемый для спасения БО.
-----------------------------------------------------
RecipientInteractionBO recInt = (RecipientInteractionBO) objectPS
.getUniqueResult(detachedCriteria);
if (recInt == null) {
recInt = new RecipientInteractionBO();
....
hibernateTemplateObj.insertObject(recInt);
} else {
...
hibernateTemplateObj.saveOrUpdate(recInt);
}
Пожалуйста, дайте мне знать, если требуются какие-либо другие детали.
Проблема, с которой вы сталкиваетесь, видна только в многопоточной среде? – Shailendra
Да, это только в многопоточном env. – Hemanshu