Hibernate Session.save () не возвращает значение? - PullRequest
6 голосов
/ 27 ноября 2010

Ниже кода выдает ошибку приведения

Long newID = (Long) session.save (объект);

Я новичок в спящем режиме.Не знаю почему.

Ответы [ 2 ]

11 голосов
/ 27 ноября 2010

Возвращаемое значение session.save() зависит от вашего сопоставления. Скорее всего, у вас есть тип ID, который не является длинным. Попробуйте сделать это:

System.out.println(session.save(object).getClass().getName());

Тогда вы увидите имя типа.

2 голосов
/ 16 марта 2012

Существует два метода:

  1. public Serializable save(Object object) throws HibernateException
    Сохранение заданного временного экземпляра, сначала назначив сгенерированный идентификатор.(Или используя текущее значение свойства идентификатора, если используется назначенный генератор.) Эта операция распространяется каскадно на связанные экземпляры, если сопоставление сопоставляется с cascade="save-update".
    Параметры: object - временный экземплярперсистентного класса
    Возвращает: сгенерированный идентификатор

  2. public Serializable save(String entityName, Object object) throws HibernateException
    Сохраняет данный временный экземпляр, сначала назначая сгенерированный идентификатор.(Или используя текущее значение свойства идентификатора, если используется назначенный генератор.) Эта операция распространяется каскадно на связанные экземпляры, если сопоставление сопоставляется с cascade="save-update".
    Параметры: object - временный экземплярпостоянного класса
    Возвращает: сгенерированный идентификатор

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