Удалить объект из сеанса в спящем режиме - PullRequest
1 голос
/ 21 февраля 2012

Как я могу удалить объект из спящего режима?В моем коде я выбираю один список из БД и ищу, если введенные пользователем данные уже есть в БД.Если это там, я перезаписываю это.Еще я создаю новый объект и сохраняю его.Но jboss показывает ошибку, что в сессии есть два объекта.Насколько я предполагаю, один объект - это объект, который перебирает список, а другой - вновь созданный для сохранения данных.

for(Allocation al: allocatelist){
    if(al.getDate().compareTo(dt)==0){
          al.setAllocated(gpsz);
          getManager().save(al);
          flag=1;
          break;
    {
{

Если вышеуказанное условие не выполнено, я создаю новый объект и сохраняю его.Так есть ли способ, которым я могу удалить этот объект "Аль"?У меня нет методов слияния или обновления, которые я пробовал "evict ()", но они бесполезны.Блок else

 Allocation allocate = new Allocation();
allocate = filldata(allocate, dataMap,i); 
   getManager().save(allocate);   
 filldata() fills the inputs into the object.`

1 Ответ

0 голосов
/ 21 февраля 2012

Если объектом Allocation управляет Hibernate, вам не нужно вызывать getManager().save(al), поскольку hibernate обнаруживает, что объект был изменен, и автоматически обновляет базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...