2014-08-11 5 views
0

Ну, у меня есть две таблицы: SaveBatch и SaveBatchLocal. У них одинаковые поля. Первая таблица вставляется в Hibernate, а вторая - нет. Это мой код:Почему мой стол не вставлен?

@Override 
    @Transactional(readOnly = false) 
    public void add(LinkedList<SmsEntity> smsEntityList) { 
     try {   
      Session session = null;   
      session = this.sessionFactory.getCurrentSession(); 
      Iterator<SmsEntity> iterator = smsEntityList.iterator(); 
      while (iterator.hasNext()) { 
       session.save(iterator.next());     
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 

Единственное, что я изменить это имя таблицы в классе сущностей:

@Entity 
@Table(name = "smsc.SaveBatch") 
public class SmsEntity { 

    @Id 
    @Column(name = "id") 
    private int id; 

    @Column(name = "nextid") 
    private Integer nextId; 
    ... 

Если @Table(name = "smsc.SaveBatch")

все нормально, если

@Table(name = "smsc.SaveBatchLocal")

нет новых строк. Что не так? Кроме того, это мой Oracle SQL Developer ПИК:

enter image description here

Они получили различные значки с неизвестными значениями.

+0

Покажите нам hibernate.cfg.xml – zaratustra

ответ

2

SaveBatchLocal - это таблица global temporary, что означает, что ее содержимое отображается только для подключенного к нему соединения и автоматически удаляется при завершении этого сеанса.

Смотреть http://www.oracle-base.com/articles/misc/temporary-tables.php

Смежные вопросы