Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> hibernate + postgresql, не вставляется в бд 
:(
    Опции темы
user393
Дата 30.1.2011, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



Здравствуйте, тоже пытаюсь создать свой проект по данному туториалу 
Вот сам проект : http://zalil.ru/30424526
Код

01    10:14:32,786  INFO Environment:514 - Hibernate 3.2.6
02    10:14:32,842  INFO Environment:547 - hibernate.properties not found 
03    10:14:32,875  INFO Environment:681 - Bytecode provider name : cglib 
04    10:14:32,923  INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling 
05    10:14:33,634  INFO Configuration:1432 - configuring from resource: hibernate.cfg.xml 
06    10:14:33,642  INFO Configuration:1409 - Configuration resource: hibernate.cfg.xml 
07    10:14:34,502  INFO Configuration:559 - Reading mappings from resource : Book.hbm.xml 
08    10:14:36,386  INFO HbmBinder:300 - Mapping class: Book -> books 
09    10:14:36,640  INFO Configuration:1547 - Configured SessionFactory: null
10    10:14:37,236  INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!) 
11    10:14:37,248  INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
12    10:14:37,260  INFO DriverManagerConnectionProvider:45 - autocommit mode: false
13    10:14:37,398  INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost/testbook 
14    10:14:37,411  INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres, password=****} 
15    10:14:38,225  INFO SettingsFactory:89 - RDBMS: PostgreSQL, version: 9.0.1
16    10:14:38,235  INFO SettingsFactory:90 - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 9.0 JDBC4 (build 801) 
17    10:14:38,432  INFO Dialect:152 - Using dialect: org.hibernate.dialect.PostgreSQLDialect 
18    10:14:38,524  INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions) 
19    10:14:38,566  INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 
20    10:14:38,578  INFO SettingsFactory:143 - Automatic flush during beforeCompletion(): disabled 
21    10:14:38,588  INFO SettingsFactory:147 - Automatic session close at end of transaction: disabled 
22    10:14:38,597  INFO SettingsFactory:154 - JDBC batch size: 15
23    10:14:38,607  INFO SettingsFactory:157 - JDBC batch updates for versioned data: disabled 
24    10:14:38,623  INFO SettingsFactory:162 - Scrollable result sets: enabled 
25    10:14:38,633  INFO SettingsFactory:170 - JDBC3 getGeneratedKeys(): enabled 
26    10:14:38,642  INFO SettingsFactory:178 - Connection release mode: auto 
27    10:14:38,660  INFO SettingsFactory:196 - Default schema: public
28    10:14:38,669  INFO SettingsFactory:205 - Default batch fetch size: 1
29    10:14:38,679  INFO SettingsFactory:209 - Generate SQL with comments: disabled 
30    10:14:38,688  INFO SettingsFactory:213 - Order SQL updates by primary key: disabled 
31    10:14:38,697  INFO SettingsFactory:217 - Order SQL inserts for batching: disabled 
32    10:14:38,707  INFO SettingsFactory:386 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 
33    10:14:38,752  INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory 
34    10:14:38,765  INFO SettingsFactory:225 - Query language substitutions: {} 
35    10:14:38,775  INFO SettingsFactory:230 - JPA-QL strict compliance: disabled 
36    10:14:38,784  INFO SettingsFactory:235 - Second-level cache: enabled 
37    10:14:38,793  INFO SettingsFactory:239 - Query cache: disabled 
38    10:14:38,802  INFO SettingsFactory:373 - Cache provider: org.hibernate.cache.NoCacheProvider 
39    10:14:38,812  INFO SettingsFactory:254 - Optimize cache for minimal puts: disabled 
40    10:14:38,822  INFO SettingsFactory:263 - Structured second-level cache entries: disabled 
41    10:14:38,904  INFO SettingsFactory:283 - Echoing all SQL to stdout 
42    10:14:38,913  INFO SettingsFactory:290 - Statistics: disabled 
43    10:14:38,923  INFO SettingsFactory:294 - Deleted entity synthetic identifier rollback: disabled 
44    10:14:38,933  INFO SettingsFactory:309 - Default entity-mode: pojo 
45    10:14:38,942  INFO SettingsFactory:313 - Named query checking : enabled 
46    10:14:39,281  INFO SessionFactoryImpl:161 - building session factory 
47    10:14:41,894  INFO SessionFactoryObjectFactory:82 - Not binding factory to JNDI, no JNDI name configured 
48    10:14:41,940  INFO SchemaValidator:98 - Running schema validator 
49    10:14:41,948  INFO SchemaValidator:106 - fetching database metadata 
50    10:14:42,340  INFO TableMetadata:39 - table found: public.books 
51    10:14:42,351  INFO TableMetadata:40 - columns: [id, title, pagecount] 
52    10:14:52,123 DEBUG SQL:401 - select nextval ('public.hibernate_sequence') 
53    Hibernate: select nextval ('public.hibernate_sequence') 
54    10:14:55,940 DEBUG SQL:401 - insert into public.books (title, pageCount, id) values (?, ?, ?) 
55    Hibernate: insert into public.books (title, pageCount, id) values (?, ?, ?) 
56    10:14:55,949 DEBUG SQL:401 - update public.books set title=?, pageCount=? where id=? 
57    Hibernate: update public.books set title=?, pageCount=? where id=?


Но почему то в бд ничего нет, хотя и пишется Код:
Код

1    10:14:42,340  INFO TableMetadata:39 - table found: public.books  
2    51  10:14:42,351  INFO TableMetadata:40 - columns: [id, title, pagecount] 


Если просто выполнить в postgresql 
insert into public.books (title, pageCount, id) values (1, '1', 1); 
то все нормально вставляется.

Класс Book:
Код

public class Book { 
        private Long id; 
        private String title; 
        private int pageCount;
        public void setId(Long id) {
            this.id = id;
        }
        public Long getId() {
            return id;
        }
        public void setTitle(String title) {
            this.title = title;
        }
        public String getTitle() {
            return title;
        }
        public void setPageCount(int pageCount) {
            this.pageCount = pageCount;
        }
        public int getPageCount() {
            return pageCount;
        }
    }

Класс HibernateUtil:
Код

import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 
      
public class HibernateUtil { 
    private static final SessionFactory sessionFactory; 
  
    static { 
        try { 
            //creates the session factory from hibernate.cfg.xml 
            sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory(); 
        } catch (ExceptionInInitializerError ex) { 
            System.err.println("Initial SessionFactory creation failed: " + ex); 
            throw new ExceptionInInitializerError(ex); 
        } 
    } 
  
    public static SessionFactory getSessionFactory() { 
        return sessionFactory; 
    } 
}

Класс Main:
Код

import org.hibernate.Session;
    public class Main { 
        public static void main(String[] args) { 
            Session session = HibernateUtil.getSessionFactory().openSession(); 
            Book book = new Book(); 
            book.setPageCount(520); 
            book.setTitle("Tales of Round Table"); 
            session.save(book);//сохранили книгу, наш id сгенерировался и сразу заполнился
            book = (Book) session.get(Book.class, book.getId()); 
            book.setPageCount(430); 
            session.save(book); 
            //session.delete(book); 
            session.flush(); 
            session.close(); 
        } 
    }


Book.hbm.xml
Код

<?xml version="1.0"?> 
    <!DOCTYPE hibernate-mapping PUBLIC 
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
    <hibernate-mapping> 
        <class name="Book" table="books"> 
            <id name="id" column="id" unsaved-value="null"> 
                <generator class="native"/> 
            </id> 
            <property name="title" type="string" column="title" length="255"/> 
            <property name="pageCount"/> 
        </class> 
    </hibernate-mapping>


hibernate.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">org.postgresql.Driver</property> 
            <property name="hibernate.connection.url">jdbc:postgresql:testbook</property>
            <property name="hibernate.hbm2ddl.auto">validate</property>
            <property name="show_sql">true</property>
         <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
            <property name="hibernate.default_schema">public</property>
            <property name="hibernate.connection.username">postgres</property> 
            <property name="hibernate.connection.password">123</property> 
            <!-- Mapping files --> 
            <mapping resource="Book.hbm.xml"/> 
        </session-factory> 
</hibernate-configuration>


Скрин postgresql: 
http://s44.radikal.ru/i103/1101/cb/415933e790b9.jpg 
Заранее спасибо за помощь.
PM MAIL   Вверх
emmanuil
Дата 30.1.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: нет
Всего: 3



Попробуйте с транзакцией и с последней версией hibernate 3.6.
PM MAIL   Вверх
user393
Дата 30.1.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.1.2011

Репутация: нет
Всего: нет



emmanuil, спасибо с транзакциями все получилось!!!  smile 
Интересно было бы узнать почему? 
PM MAIL   Вверх
emmanuil
Дата 30.1.2011, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: нет
Всего: 3



Можно почитать документацию Hibernate версии 3.2.6.
В последней версии нельзя без транзакции работать. Я с той версией не работал, точно сказать не могу. Может это баг или она так работает - неявно открывает транзакцию, которую явно нужно комитить, а сохранение не работало, потому что при закрытии происходит ролбэк транзакции.
В любом случае, если есть возможность, то используйте последнюю версию.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1155 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.