Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / (Hibernate) Не могу создать SessionFactory / 25 сообщений из 28, страница 1 из 2
25.01.2006, 13:59
    #33502324
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Код: 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
25.01.2006, 14:37
    #33502484
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Что я не так делаю??

Пока что не весь лог и стэктрейс сюда выложили...
...
Рейтинг: 0 / 0
25.01.2006, 14:51
    #33502559
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
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
25.01.2006, 14:53
    #33502571
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
AlexMDА ваше приложение
видит файл с параметрами подключения
к базе?
xxx.cfg.xml:



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

Это так и есть?
...
Рейтинг: 0 / 0
25.01.2006, 15:04
    #33502606
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
простите, сразу не увидел:
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
25.01.2006, 15:07
    #33502618
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
AlexMD
У вас обязательно должен быть сеттер для
класса

Для переменной id, разумеется ;-))
...
Рейтинг: 0 / 0
25.01.2006, 15:12
    #33502637
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
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
25.01.2006, 15:17
    #33502649
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
опечаточка у вас:
автор
Код: 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
25.01.2006, 15:27
    #33502695
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Исправил, но выдает

Код: 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
25.01.2006, 15:32
    #33502716
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Сеттер (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
25.01.2006, 15:41
    #33502758
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
автор

[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
25.01.2006, 15:42
    #33502761
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Что это за 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
25.01.2006, 15:43
    #33502770
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Vasisualiy
Код: plaintext
org.hibernate.exception.GenericJDBCException: could not insert: [epam.com.classes.User]

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

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

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

Вот такой запрос он выполняет
Hibernate: insert into User (FIRST, LAST, PROFESSION) values (?, ?, ?) select scope_identity()
...
Рейтинг: 0 / 0
25.01.2006, 15:58
    #33502851
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Тогда попробуй указать в 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
25.01.2006, 16:12
    #33502907
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
автор
Разве хибернейтовский 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
25.01.2006, 16:17
    #33502927
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
AlexMDПопробуйте прогнать этот запрос через какой-нибудь
родной SQLExplorer для MSSQL.
А какая структура таблицы, нет ли в базе для неё
первичного ключа? Если есть там этот ключ
и как происходит генерирование его значений?
По-моему, проблема в переменной id и структуре таблицы.

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


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

Народ может кто подскажет, если все это переделать теперь на JNDI как я должен изменить hibernate.cfg.xml или я еще должен что-то менять? Как bound-ить свои там DataSource и SessionFactory?
...
Рейтинг: 0 / 0
25.01.2006, 16:30
    #33502974
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
автор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
25.01.2006, 16:36
    #33502992
Vasisualiy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
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
25.01.2006, 16:47
    #33503026
AlexMD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(Hibernate) Не могу создать SessionFactory
Вот вам ххх.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
Форумы / Java [игнор отключен] [закрыт для гостей] / (Hibernate) Не могу создать SessionFactory / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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