powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / (Hibernate) Не могу создать SessionFactory
28 сообщений из 28, показаны все 2 страниц
(Hibernate) Не могу создать SessionFactory
    #33502324
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 try  {
        	Configuration cfg =  new  Configuration();
        	sessionFactory = cfg.configure().buildSessionFactory();
}  catch  (Exception esf) {
        		esf.printStackTrace();
            session = sessionFactory.openSession(); 
            tx = session.beginTransaction();
            session.save(user);
            tx.commit();
        }  catch  (Exception e) {
        	 try  {
            	tx.rollback();
            }  catch (Exception e2) {
            	System.out.println(e2);
            }
            System.out.println(e);
        }  finally  {
             try  {
                 if  (session !=  null ) {session.close();}
            }  catch  (Exception e) {
                System.out.println(e);
            }
        }

[INFO,SettingsFactory] RDBMS: Microsoft SQL Server, version: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

[INFO,SettingsFactory] JDBC driver: SQLServer, version: 2.2.0022
[INFO,Dialect] Using dialect: org.hibernate.dialect.SQLServerDialect
[INFO,TransactionFactoryFactory] Using default transaction strategy (direct JDBC transactions)
[INFO,TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
[INFO,SettingsFactory] Automatic flush during beforeCompletion(): disabled
[INFO,SettingsFactory] Automatic session close at end of transaction: disabled
[INFO,SettingsFactory] Scrollable result sets: enabled
[INFO,SettingsFactory] JDBC3 getGeneratedKeys(): disabled
[INFO,SettingsFactory] Connection release mode: auto
[INFO,SettingsFactory] Default batch fetch size: 1
[INFO,SettingsFactory] Generate SQL with comments: disabled
[INFO,SettingsFactory] Order SQL updates by primary key: disabled
[INFO,SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[INFO,ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
[INFO,SettingsFactory] Query language substitutions: {}
[INFO,SettingsFactory] Second-level cache: enabled
[INFO,SettingsFactory] Query cache: disabled
[INFO,SettingsFactory] Cache provider: org.hibernate.cache.EhCacheProvider
[INFO,SettingsFactory] Optimize cache for minimal puts: disabled
[INFO,SettingsFactory] Structured second-level cache entries: disabled
[INFO,SettingsFactory] Statistics: disabled
[INFO,SettingsFactory] Deleted entity synthetic identifier rollback: disabled
[INFO,SettingsFactory] Default entity-mode: pojo
[INFO,SessionFactoryImpl] building session factory
[WARN,Configurator] No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Program%20Files/hibernate-3.1/lib/ehcache-1.1.jar!/ehcache-failsafe.xml

Что я не так делаю??
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502484
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что я не так делаю??

Пока что не весь лог и стэктрейс сюда выложили...
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502559
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuriЧто я не так делаю??

Пока что не весь лог и стэктрейс сюда выложили...

Вот все

[INFO,Environment] Hibernate 3.1.1
[INFO,Environment] loaded properties from resource hibernate.properties: {hibernate.connection.username=msn, hibernate.connection.password=****, hibernate.cglib.use_reflection_optimizer=true, hibernate.dialect=org.hibernate.dialect.SQLServerDialect, hibernate.connection.url=jdbc:microsoft:sqlserver://localhost;databasename=TestDB, hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver}
[INFO,Environment] using CGLIB reflection optimizer
[INFO,Environment] using JDK 1.4 java.sql.Timestamp handling
[INFO,Configuration] configuring from resource: /hibernate.cfg.xml
[INFO,Configuration] Configuration resource: /hibernate.cfg.xml
[ERROR,DTDEntityResolver] Don't use old DTDs, read the Hibernate 3.x Migration Guide!
[INFO,Configuration] Reading mappings from resource: epam/com/classes/User.hbm.xml
[INFO,HbmBinder] Mapping class: ####.com.classes.User -> User
[INFO,Configuration] Configured SessionFactory: null
[INFO,DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!)
[INFO,DriverManagerConnectionProvider] Hibernate connection pool size: 20
[INFO,DriverManagerConnectionProvider] autocommit mode: false
[INFO,DriverManagerConnectionProvider] using driver: com.microsoft.jdbc.sqlserver.SQLServerDriver at URL: jdbc:microsoft:sqlserver://localhost;databasename=TestDB
[INFO,DriverManagerConnectionProvider] connection properties: {user=msn, password=msn}
[INFO,SettingsFactory] RDBMS: Microsoft SQL Server, version: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 2)

[INFO,SettingsFactory] JDBC driver: SQLServer, version: 2.2.0022
[INFO,Dialect] Using dialect: org.hibernate.dialect.SQLServerDialect
[INFO,TransactionFactoryFactory] Using default transaction strategy (direct JDBC transactions)
[INFO,TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
[INFO,SettingsFactory] Automatic flush during beforeCompletion(): disabled
[INFO,SettingsFactory] Automatic session close at end of transaction: disabled
[INFO,SettingsFactory] Scrollable result sets: enabled
[INFO,SettingsFactory] JDBC3 getGeneratedKeys(): disabled
[INFO,SettingsFactory] Connection release mode: auto
[INFO,SettingsFactory] Default batch fetch size: 1
[INFO,SettingsFactory] Generate SQL with comments: disabled
[INFO,SettingsFactory] Order SQL updates by primary key: disabled
[INFO,SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[INFO,ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
[INFO,SettingsFactory] Query language substitutions: {}
[INFO,SettingsFactory] Second-level cache: enabled
[INFO,SettingsFactory] Query cache: disabled
[INFO,SettingsFactory] Cache provider: org.hibernate.cache.EhCacheProvider
[INFO,SettingsFactory] Optimize cache for minimal puts: disabled
[INFO,SettingsFactory] Structured second-level cache entries: disabled
[INFO,SettingsFactory] Statistics: disabled
[INFO,SettingsFactory] Deleted entity synthetic identifier rollback: disabled
[INFO,SettingsFactory] Default entity-mode: pojo
[INFO,SessionFactoryImpl] building session factory
[WARN,Configurator] No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Program%20Files/hibernate-3.1/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
java.lang.NullPointerException
org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class ####.com.classes.User
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502571
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDА ваше приложение
видит файл с параметрами подключения
к базе?
xxx.cfg.xml:



Все видит и в логе это пишет.
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502597
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может причина в этом:
Vasisualiy
[ERROR,DTDEntityResolver] Don't use old DTDs, read the Hibernate 3.x Migration Guide!
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502604
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
java.lang.NullPointerException
org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class ####.com.classes.User

Это так и есть?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502606
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простите, сразу не увидел:
Vasisualiy
java.lang.NullPointerException
org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class ####.com.classes.User

У вас обязательно должен быть сеттер для
класса
Код: plaintext
1.
####.com.classes.User
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502618
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMD
У вас обязательно должен быть сеттер для
класса

Для переменной id, разумеется ;-))
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502637
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDпростите, сразу не увидел:
Vasisualiy
java.lang.NullPointerException
org.hibernate.PropertyNotFoundException: Could not find a setter for property id in class ####.com.classes.User

У вас обязательно должен быть сеттер для
класса
Код: plaintext
1.
####.com.classes.User


И что это за сеттер. Я пример далал так вот

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
User.java
 package  epam.com.classes;

 public   class  User {
	 private   int  id;
     private  String firstName;
     private  String lastName;
     private  String profession;
    
     public   int  getId() {
    	 return  id;
    }
     public   void  setID( int  id) {
    	 this .id = id;
    }
     public  String getFirstName() {
    	 return  firstName;
    }
     public   void  setFirstName(String firstName) {
    	 this .firstName = firstName;
    }
     public  String getLastName() {
    	 return  lastName;
    }
     public   void  setLastName(String lastName) {
    	 this .lastName = lastName;
    }
     public  String getProfession() {
    	 return  profession;
    }
     public   void  setProfession(String profession) {
    	 this .profession = profession;
    }
}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
User.hbm.xml
<?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="epam.com.classes.User"
        table="User">
	<id
		name="id"
        column="ID"
        type="int" >
        <generator  class ="native" />
	</id>
	<property 
			name="firstName" 
			type="java.lang.String"
			column="FIRST">
	</property>
	<property 
			name="lastName" 
			type="java.lang.String"
			column="LAST">
	</property>
	<property 
			name="profession" 
			type="java.lang.String"
			column="PROFESSION">
	</property>
	</ class >
</hibernate-mapping>
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
HibernetUser.java
 package  epam.com.classes;

 import  org.hibernate.Session;
 import  org.hibernate.SessionFactory;
 import  org.hibernate.Transaction;
 import  org.hibernate.cfg.Configuration;

 public   class  HibernateUser {

	 public   void  create(User user) {
		SessionFactory sessionFactory = null ;
		Session session =  null ;
        Transaction tx =  null ;
       
         try  {
        	Configuration cfg =  new  Configuration();
        	sessionFactory = cfg.configure().buildSessionFactory();
        	session = sessionFactory.openSession(); 
            tx = session.beginTransaction();
            session.save(user);
            tx.commit();
        }  catch  (Exception e) {
        	 try  {
            	tx.rollback();
            }  catch (Exception e2) {
            	System.out.println(e2);
            }
            System.out.println(e);
        }  finally  {
             try  {
                 if  (session !=  null ) {session.close();}
            }  catch  (Exception e) {
                System.out.println(e);
            }
        }
	}
	 public   static   void  main(String[] args) {
		User user =  new  User();
		user.setID( 1 );
		user.setFirstName("Vasya");
		user.setLastName("Tsoi");
		user.setProfession("programer");
		HibernateUser hUser =  new  HibernateUser();
		hUser.create(user);
	}
}
Где еще чего не хватает?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502649
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечаточка у вас:
автор
Код: plaintext
1.
2.
3.
  public   void  setID( int  id) {
    	 this .id = id;
    }

а надо:
Код: plaintext
1.
2.
3.
  public   void  setId( int  id) {
    	 this .id = id;
    }
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502695
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил, но выдает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
[INFO,Environment] Hibernate  3 . 1 . 1 
[INFO,Environment] loaded properties from resource hibernate.properties: {hibernate.connection.username=msn, hibernate.connection.password=****, hibernate.cglib.use_reflection_optimizer=true, hibernate.dialect=org.hibernate.dialect.SQLServerDialect, hibernate.connection.url=jdbc:microsoft:sqlserver://localhost;databasename=TestDB, hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver}
[INFO,Environment] using CGLIB reflection optimizer
[INFO,Environment] using JDK  1 . 4  java.sql.Timestamp handling
[INFO,Configuration] configuring from resource: /hibernate.cfg.xml
[INFO,Configuration] Configuration resource: /hibernate.cfg.xml
[INFO,Configuration] Reading mappings from resource: epam/com/classes/User.hbm.xml
[INFO,HbmBinder] Mapping  class : epam.com.classes.User -> User
[INFO,Configuration] Configured SessionFactory:  null 
[INFO,DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not  for  production use!)
[INFO,DriverManagerConnectionProvider] Hibernate connection pool size:  20 
[INFO,DriverManagerConnectionProvider] autocommit mode: false
[INFO,DriverManagerConnectionProvider] using driver: com.microsoft.jdbc.sqlserver.SQLServerDriver at URL: jdbc:microsoft:sqlserver://localhost;databasename=TestDB
[INFO,DriverManagerConnectionProvider] connection properties: {user=msn, password=msn}
[INFO,SettingsFactory] RDBMS: Microsoft SQL Server, version: Microsoft SQL Server   2000  -  8 . 00 . 2039  (Intel X86) 
	May   3   2005   23 : 18 : 38  
	Copyright (c)  1988 - 2003  Microsoft Corporation
	Personal Edition on Windows NT  5 . 1  (Build  2600 : Service Pack  2 )

[INFO,SettingsFactory] JDBC driver: SQLServer, version:  2 . 2 . 0022 
[INFO,Dialect] Using dialect: org.hibernate.dialect.SQLServerDialect
[INFO,TransactionFactoryFactory] Using  default  transaction strategy (direct JDBC transactions)
[INFO,TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
[INFO,SettingsFactory] Automatic flush during beforeCompletion(): disabled
[INFO,SettingsFactory] Automatic session close at end of transaction: disabled
[INFO,SettingsFactory] Scrollable result sets: enabled
[INFO,SettingsFactory] JDBC3 getGeneratedKeys(): disabled
[INFO,SettingsFactory] Connection release mode: auto
[INFO,SettingsFactory]  Default  batch fetch size:  1 
[INFO,SettingsFactory] Generate SQL with comments: disabled
[INFO,SettingsFactory] Order SQL updates by primary key: disabled
[INFO,SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
[INFO,ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
[INFO,SettingsFactory] Query language substitutions: {}
[INFO,SettingsFactory] Second-level cache: enabled
[INFO,SettingsFactory] Query cache: disabled
[INFO,SettingsFactory] Cache provider: org.hibernate.cache.EhCacheProvider
[INFO,SettingsFactory] Optimize cache  for  minimal puts: disabled
[INFO,SettingsFactory] Structured second-level cache entries: disabled
[INFO,SettingsFactory] Statistics: disabled
[INFO,SettingsFactory] Deleted entity synthetic identifier rollback: disabled
[INFO,SettingsFactory]  Default  entity-mode: pojo
[INFO,SessionFactoryImpl] building session factory
[WARN,Configurator] No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Program%20Files/hibernate- 3 . 1 /lib/ehcache- 1 . 1 .jar!/ehcache-failsafe.xml
[INFO,SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
[WARN,JDBCExceptionReporter] SQL Error:  156 , SQLState: HY000
[ERROR,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC][SQLServer]Incorrect syntax near the keyword 'User'.
[WARN,JDBCExceptionReporter] SQL Warning:  0 , SQLState: 
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC]Database changed to TestDB
[WARN,JDBCExceptionReporter] SQL Warning:  0 , SQLState: 
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC][SQLServer]Changed database context to 'TestDB'.
[WARN,JDBCExceptionReporter] SQL Warning:  0 , SQLState: 
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC]Language changed to us_english
[WARN,JDBCExceptionReporter] SQL Warning:  0 , SQLState: 
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC][SQLServer]Changed language setting to us_english.
org.hibernate.exception.GenericJDBCException: could not insert: [epam.com.classes.User]
Чего еще я упустил?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502716
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сеттер (setter) - полуофициальный термин наших англоязычных друзей ;-)),
так они называют set метод для переменной, соответственно
геттер (getter) - на русском звучит не очень :-) -от get метода для
переменной.
Обычно для веб-приложений (точнее JavaBeans specification)
используют следующее правило формирования
названий для сеттеров и геттеров
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public   class  Test{
 private   int  имяПеременной;

//сеттер
 public   void  setИмяПеременной( int  x){
 имяПеременной=x;
}
//геттер
 public   int  getИмяПеременной(){
 return  имяПеременной;
}
}
Обратите внимание, регистр букв в названиях методов
имеет значение.
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502758
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор

[WARN,JDBCExceptionReporter] SQL Error: 156, SQLState: HY000
[ERROR,JDBCExceptionReporter] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Incorrect syntax near the keyword 'User'.
[WARN,JDBCExceptionReporter] SQL Warning: 0, SQLState:
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer 2000 Driver for JDBC]Database changed to TestDB
[WARN,JDBCExceptionReporter] SQL Warning: 0, SQLState:
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Changed database context to 'TestDB'.
[WARN,JDBCExceptionReporter] SQL Warning: 0, SQLState:
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer 2000 Driver for JDBC]Language changed to us_english
[WARN,JDBCExceptionReporter] SQL Warning: 0, SQLState:
[WARN,JDBCExceptionReporter] [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Changed language setting to us_english.
org.hibernate.exception.GenericJDBCException: could not insert: [epam.com.classes.User]
Чего еще я упустил?

Теперь SessionFactory создаётся, но у вас ошибка
в запросе на вставку. Вам нужно просмотреть текст запроса,
который генерируется Hibernate-ом для записи.
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502761
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что это за error?

Код: plaintext
1.
2.
[WARN,JDBCExceptionReporter] SQL Error:  156 , SQLState: HY000
[ERROR,JDBCExceptionReporter] [Microsoft][SQLServer  2000  Driver  for  JDBC][SQLServer]Incorrect syntax near the keyword 'User'.
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502770
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vasisualiy
Код: plaintext
org.hibernate.exception.GenericJDBCException: could not insert: [epam.com.classes.User]

Чего еще я упустил?
Покажи содержимое epam/com/classes/User.hbm.xml Есть ли в нем определение таблицы, в которой следует хранить экземпляры класса User?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502779
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDТеперь SessionFactory создаётся, но у вас ошибка
в запросе на вставку. Вам нужно просмотреть текст запроса,
который генерируется Hibernate-ом для записи.

Это надо включить чтоб была трансляция SQL-запросов? И где прописать в hibernate.cfg.xml?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502785
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovПокажи содержимое epam/com/classes/User.hbm.xml Есть ли в нем определение таблицы, в которой следует хранить экземпляры класса User?

Выше выложены все файлы к данному тесту
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502804
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMD
Теперь SessionFactory создаётся, но у вас ошибка
в запросе на вставку. Вам нужно просмотреть текст запроса,
который генерируется Hibernate-ом для записи.

Вот такой запрос он выполняет
Hibernate: insert into User (FIRST, LAST, PROFESSION) values (?, ?, ?) select scope_identity()
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502851
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда попробуй указать в hibernate.cfg.xml
Код: plaintext
<property name="hibernate.show_sql">true</property>
и смотри на вывод, либо лучше всего запускай Microsoft SQL Server Profiler и смотри запросы в нем.
Код: plaintext
Hibernate: insert into User (FIRST, LAST, PROFESSION) values (?, ?, ?) select scope_identity()

Код: plaintext
<property  name="firstName" type="java.lang.String" column="FIRST">
Не должно ли стоять просто type="string"?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502907
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Разве хибернейтовский string не соответствует
java.lang.String? Вроде бы это одно и тоже.

5.2.2. Basic value types

The built-in basic mapping types may be roughly categorized into
...
string

A type mapping from java.lang.String to VARCHAR (or Oracle VARCHAR2).


автор
insert into User (FIRST, LAST, PROFESSION) values ("VICTOR", "TSOI", "MUSICIAN")

Попробуйте прогнать этот запрос через какой-нибудь
родной SQLExplorer для MSSQL.
А какая структура таблицы, нет ли в базе для неё
первичного ключа? Если есть там этот ключ
и как происходит генерирование его значений?
По-моему, проблема в переменной id и структуре таблицы.
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502927
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDПопробуйте прогнать этот запрос через какой-нибудь
родной SQLExplorer для MSSQL.
А какая структура таблицы, нет ли в базе для неё
первичного ключа? Если есть там этот ключ
и как происходит генерирование его значений?
По-моему, проблема в переменной id и структуре таблицы.

Я как раз пробовал оказалось MS SQL не пропускает имя USER изменил на USERS и вроде как работает, но поле ID остается пустым,а если его сделать primary key то не работает так как Hibernate не генерирует id. Как это исправить?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502955
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vasisualiy
Я как раз пробовал оказалось MS SQL не пропускает имя USER изменил на USERS и вроде как работает, но поле ID остается пустым,а если его сделать primary key то не работает так как Hibernate не генерирует id. Как это исправить?


Взял да и поставил в MS SQL чтоб оно само генерировала этот id ирешил хер с ним.

Народ может кто подскажет, если все это переделать теперь на JNDI как я должен изменить hibernate.cfg.xml или я еще должен что-то менять? Как bound-ить свои там DataSource и SessionFactory?
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502974
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторMS SQL не пропускает имя USER изменил на USERS
В конце-концов, оказалось, что для MSSQL это зарезервированное слово :-))
Чтож вы так народ мучаете ;-)).
Попробуйте теперь так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
User.hbm.xml
<?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="epam.com.classes.User"
        table="Users">
        <id name="id" column="ID" type="java.lang.Integer">
        </id>
	<property 
			name="firstName" 
			type="java.lang.String"
			column="FIRST">
	</property>
	<property 
			name="lastName" 
			type="java.lang.String"
			column="LAST">
	</property>
	<property 
			name="profession" 
			type="java.lang.String"
			column="PROFESSION">
	</property>
	</ class >
</hibernate-mapping>
А какой у вас hibernate.cfg.xml ???
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33502992
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDПопробуйте теперь так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
User.hbm.xml
<?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="epam.com.classes.User"
        table="Users">
        <id name="id" column="ID" type="java.lang.Integer">
        </id>
	<property 
			name="firstName" 
			type="java.lang.String"
			column="FIRST">
	</property>
	<property 
			name="lastName" 
			type="java.lang.String"
			column="LAST">
	</property>
	<property 
			name="profession" 
			type="java.lang.String"
			column="PROFESSION">
	</property>
	</ class >
</hibernate-mapping>
А какой у вас hibernate.cfg.xml ???
Именно так теперь все и работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 hibernate.cfg.xml
<?xml version="1.0"?>
<!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="show_sql">true</property>
	<property name="myeclipse.connection.profile">sourcedb</property>
	<property name="connection.url">
		jdbc:microsoft:sqlserver://localhost;databasename=TestDB
	</property>
	<property name="connection.username">msn</property>
	<property name="connection.password">msn</property>
	<property name="connection.driver_class">
		com.microsoft.jdbc.sqlserver.SQLServerDriver
	</property>
	<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
	<mapping resource="epam/com/classes/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33503026
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот вам ххх.cfg.xml
для JNDI:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?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="show_sql">true</property>
        <property name="connection.datasource">java:/comp/env/jdbc/XXX</property>
        <property name="dialect">org.hibernate.dialect.имя</property>
        <mapping resource="Имя_класса.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
Ну и соответсвенно в файл context.xml (пишу для случая с Tomcat 5.5)
добавляется:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<Resource auth="Container" driverClassName="класс_драйвера"
        logAbandoned="true"
        maxActive="4"
        maxIdle="2"
        maxWait="500"
        name="jdbc/ХХХ"
        password="пароль"
        removeAbandoned="true"
        removeAbandonedTimeout="180"
        type="javax.sql.DataSource"
        url="строка_соединения_с_базой"
        username="имя"/>
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33503055
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMDНу и соответсвенно в файл context.xml (пишу для случая с Tomcat 5.5)

Значит мне надо будет указать
Код: plaintext
1.
Context ctx =  new  InitialContext();
            sessionFactory = (SessionFactory) ctx.lookup(jdbc/xxxx);
вместо
Код: plaintext
1.
Configuration cfg =  new  Configuration();
        	sessionFactory = cfg.configure().buildSessionFactory();

А где указывать использование файла context.xml и зачем он нужен не могу ли я тоже указать в hibernate.properties?
Код: plaintext
1.
2.
3.
4.
hibernate.connection.username=user
hibernate.connection.password=password
hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
hibernate.connection.url=jdbc:microsoft:sqlserver://localhost;databasename=TestDB
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33503127
AlexMD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Значит мне надо будет указать

Нет, не надо.
Как было, так и должно остаться:
Код: plaintext
1.
2.
Configuration cfg =  new  Configuration();
        	sessionFactory = cfg.configure().buildSessionFactory();
авторА где указывать использование файла context.xml
Нигде - Томкэт сам найдёт его в папке META-INF
вашего веб-приложения
авторфайла context.xml и зачем он нужен
Он нужен Томкэту - он оттуда считывает параметры подключения
к базе.
For Tomcat 5, these entries in per-web-application InitialContext are configured in the <Context> elements that can be specified in either $CATALINA_HOME/conf/server.xml or, preferably, the per-web-application context XML file (either META-INF/context.xml).
тынц
авторя тоже указать в hibernate.properties
hibernate.properties вообще не нужен, если вы
используете hibernate.cfg.xml
...
Рейтинг: 0 / 0
(Hibernate) Не могу создать SessionFactory
    #33503149
Vasisualiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexMD
Нигде - Томкэт сам найдёт его в папке META-INF
вашего веб-приложения

А если я используя JBoss, то где-то надо в другом месте прописать доступ к базе (все о context.xml)
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / (Hibernate) Не могу создать SessionFactory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]