Ошибка гибернации - PullRequest
       5

Ошибка гибернации

1 голос
/ 03 марта 2012

Я сделал небольшой пример программы для вставки данных в таблицу базы данных MySQL с использованием Java Hibernate.Все прошло нормально, и я получил результат

"ИНФОРМАЦИЯ: обновление схемы завершено Hibernate: вставка в значения элементов (itemcode, itemdiscription, itemprice, itemId) (?,?,?,?) BUILD SUCCESSFUL (общее время: 2 секунды) "

Мой файл сопоставления и файл конфигурации в порядке.Но когда я запускаю запрос в командной строке для получения обновленных значений, он не показывает введенные значения моим классом Java Pojo.Это почему???Пожалуйста, учтите, что для этого я использовал netbeans 7.1.

Файл отображения

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
        <class name="firsthibernetapp.Item" table="items">
              <id name="iid" type="int" column="itemId" >
                 <generator class="assigned"/>
              </id>
              <property name="icode">
                    <column name="itemcode"/>
              </property>
              <property name="idiscription">
                     <column name="itemdiscription"/>
              </property>
              <property name="iprice">
                     <column name="itemprice"/>
              </property>
          </class>
</hibernate-mapping>

hibernet.cfg.xml файл:

<?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>
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.url">jdbc:mysql://localhost:3306      /combo</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">********</property>
  <property name="hibernate.connection.pool_size">10</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="current_session_context_class">thread</property>
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  <property name="show_sql">true</property>
  <property name="hibernate.hbm2ddl.auto">update</property>
  <mapping resource="hibernate.hbm.xml"/>
  </session-factory>
  </hibernate-configuration>

Код:

package firsthibernetapp;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class FirstHibernetApp {

public static void main(String[] args) {
  Session session = null;
    try{
        SessionFactory sessionFactory = 
                 new Configuration().configure().buildSessionFactory();
        session =sessionFactory.openSession();
        Item item = new Item();
        System.out.println("Inserting Record");
        item.setIid(5);
        item.setIcode("FX00010");
        item.setIdiscription("Apple");
        item.setIprice(10);
        session.save(item);
        System.out.println("Done");
    }catch(Exception e){
        System.out.println(e.getMessage());
    }
    finally{
        session.flush();
        session.close();
     }
  }
}

`

1 Ответ

2 голосов
/ 03 марта 2012
add these lines..
session =sessionFactory.openSession();
Transaction tx = session.beginTransaction(); //new line
Item item = new Item();



session.save(item);
 System.out.println("Done");
 tx.commit(); //new line
 }catch(Exception e){
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...