Проблема при добавлении данных в базу данных с использованием спящего режима - PullRequest
0 голосов
/ 12 апреля 2010

При добавлении данных в базу данных я получаю следующее исключение:

org.hibernate.HibernateException: база данных не вернула нативно сгенерированное значение идентификатора

Я использую следующий код:

Session session = HibernateUtil.getSession();
Transaction tx = session.beginTransaction();

session.save(user);
logger.info("Successfully data insert in database");
tx.commit();
isSaved = true;

Пожалуйста, дайте мне знать, что не так. Thankx

1 Ответ

1 голос
/ 12 апреля 2010

Кажется, что база данных не поддерживает генератор идентификаторов. Основываясь на вашем отображении, вы, вероятно, используете userName в качестве столбца ID, что означает, что вы, вероятно, захотите установить класс генератора на назначенный , так как имя пользователя (= id) будет выбрано вручную (а не автоматически). генерируется базой данных):

<hibernate-mapping>
    <class name="com.test.User" table="user">
        <id name="userName" column="user_name">
            <generator class="assigned" />
        </id>
        <property name="userCode">
        <column name="user_code" />
        </property>
    </class>
</hibernate-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...