org.hibernate.exception.GenericJDBCException: не удалось получить следующее значение последовательности - PullRequest
3 голосов
/ 04 июля 2011

У меня проблема с Hibernate.Когда я хочу сохранить объект в базе данных, я получаю следующее исключение:

org.hibernate.exception.GenericJDBCException: could not get next sequence value
25P02, current transaction is aborted, commands ignored until end of transaction block

Мой файл конфигурации Hibernate:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory name="">
  <!-- Database connection settings -->
  <property name="connection.driver_class">org.postgresql.Driver</property>
  <property name="connection.url">jdbc:postgresql://localhost:5432/3encult</property>
  <property name="connection.username">3encult</property>
  <property name="connection.password">3encult</property>
  <!-- JDBC connection pool (use the built-in) -->
  <property name="connection.pool_size">10</property>
  <!-- SQL dialect -->
  <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
  <!-- Enable Hibernate's automatic session context management -->
  <property name="current_session_context_class">thread</property>
  <!-- Disable the second-level cache  
  Echo all executed SQL to stdout -->
  <property name="show_sql">true</property>
  <!-- Drop and re-create the database schema on startup 
    <property name="hbm2ddl.auto">create</property>-->
  <mapping resource="resources/User.hbm.xml"/>
  <mapping resource="resources/ApplicationField.hbm.xml"/>
  <mapping resource="resources/Attribute.hbm.xml"/>
  <mapping resource="resources/Device.hbm.xml"/>
  <mapping resource="resources/Role.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

И мой файл отображения Hibernate:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                               "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 07-abr-2011 13:29:19 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
 <class name="com.cartif.database.Attribute" table="Attribute">
  <id name="iAttrId" column="attributeid" type="java.lang.Integer">
  <generator class="native">
    <param name="sequence">s_attribute</param>
  </generator>
</id>
 <property column="name" generated="never" lazy="false" name="name" type="java.lang.String"/>
 <property column="value" generated="never" lazy="false" name="value" type="java.lang.String"/>
 <property column="timestamp" generated="never" lazy="false" name="date" type="java.sql.Timestamp"/>
 <property column="deviceId" generated="never" lazy="false" name="iDeviceId" type="java.lang.Integer"/>
 <property column="sensorId" generated="never" lazy="false" name="iSensorId" type="java.lang.Integer"/>
 </class>
</hibernate-mapping>

Атрибут iAttrId существует, у него есть методы get / set и атрибут таблицы для атрибута столбца в таблице. Атрибут также существует.

Hibernate показывает SQL-запросы, и они:это причина?

Спасибо!

Ответы [ 2 ]

1 голос
/ 07 июля 2011

Я удалил предыдущую последовательность и сгенерировал новую последовательность, и она отлично работает!

1 голос
/ 04 июля 2011

Вы создали последовательность в PostgreSQL?Это очень похоже на Oracle.Сам по себе стол недостаточен;Вы также должны создать последовательность.

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