powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Тетерициские вопросики по Hibernate
20 сообщений из 20, страница 1 из 1
Тетерициские вопросики по Hibernate
    #33049056
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки начальсто убедило меня, что hibernate следует пользовать. Хотя, я не очень в этом всеже уверен. Собственно, почему к уважаемому народу и обращаюся.

1) Любой объект должен иметь ID согласно hibernate.
- Ecли ID нема - насколько сложно использовать суррогатные ID?
- Ecли ID - текстовое значение, будут ли проблемы?
- Если у меня в базе (Oracle) уже есть sequence - на сколько сложно его подключить к генерации ID?

2) Многие объекты у меня кладуться в базу через stored procedure. Достаточно сложная логика (типа защифровать пароль, записать статистику, тп). Делать триггеры или паралельно ходить через JDBC? Триггеры, откровенно, не охота...

Пока усе...
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33049134
EP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EP
Гость
1. Именно их и нужно использовать
2. Нет
3. http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-id-sequences

По последней проблеме - http://www.hibernate.org/hib_docs/v3/reference/en/html/querysql.html

Также советую помотреть на нововведения в Hibernate 3 по поводу процедур - может и удастся выкрутиться вообще без SQL
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33049161
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большой спасиб!
Бум осваивать, вторая ссылка особо полезная, так как может решить многие проблемы из первых вопросов.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33049474
EP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EP
Гость
Вторая ссылка способна также свести на нет все, ради чего затевалось использование Hibernate

Не переусердствуйте ;)
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33053464
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык понятно...
Я жабой тольки-тольки начал заниматься, а так в основном базы ваял. И мне как-то неуютно стало, кады весь SQL за тебя делають... Оч.часто в SQL что-то подкрутить надо было. И одно время воше было все объесты через stored procedures класть.

Ну ладно, посмотрим.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33053767
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопросик однако. Я тута в кишки hibernate полез и столкнулся с такой фиговиной. Вот кусок простецкого кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
		Session session = HibernateUtil.currentSession();
		Transaction tx = session.beginTransaction();
		Vep tst =  new  Vep();
		tst.setKey( "AAA");
		tst.setValue( "BBB");
		session.save( tst);
		tx.commit();
		HibernateUtil.closeSession();
Так здеся оказывается session.save( tst); не делает ничего в базе, а tx.commit(); и вставляет в базу объект, и коммитит его. Для чела, далекого от базы, что в лоб, что по лбу. А если допустим така ситуевина
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
		Session session = HibernateUtil.currentSession();
		Transaction tx = session.beginTransaction();
		Vep tst =  new  Vep();
		tst.setKey( "AAA");
		tst.setValue( "BBB");
		session.save( tst);

		VepCollection tstCol =  new  VepCollection();
                 int  tstCount = getCount(); // лезем в базу и берем количество Vepoв  
		tstCol.setLength(  new  Integer( tstCount));
		session.save( tstCol);

		tx.commit();
		HibernateUtil.closeSession();
То получаем задницу - tstCount на единицу меньше, так как tst появится в базе тольки после tx.commit(); Можно и так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
		Session session = HibernateUtil.currentSession();
		Transaction tx = session.beginTransaction();
		Vep tst =  new  Vep();
		tst.setKey( "AAA");
		tst.setValue( "BBB");
		session.save( tst);
		tx.commit();

		tx = session.beginTransaction();
		VepCollection tstCol =  new  VepCollection();
                 int  tstCount = getCount(); // лезем в базу и берем количество Vepoв  
		tstCol.setLength(  new  Integer( tstCount));
		session.save( tstCol);

		tx.commit();
		HibernateUtil.closeSession();
Но тоже плохо, так как если упадет на второй транзакции - опять задница...

Есть ли у hibernate возможность выполнять SQL запросы, не кешируя их?
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33060968
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, не пользует народ особо hibernate. Жаль, а вопросики лезуть и лезуть.. Вот такой простой коде:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
		Session session = HibernateUtil.currentSession();

		Transaction tx = session.beginTransaction();
		Vep tst =  new  Vep();
		tst.setKey( "AAA");
		tst.setValue( "BBB");
		session.save( tst);
		tx.commit();

		tx = session.beginTransaction();
		Vep tst1 =  new  Vep();
		tst1.setKey( "ССС");
		tst1.setValue( "ВВВ");
		session.save( tst1);
		tx.commit();

		HibernateUtil.closeSession();
И в результате имем, что объект tst1 сохранился, а tst нет. Чо там beginTransaction сделала - непонятно (наверно rollback() =)), а вот commit всяк там SQL конечно выполнил, но закоммитить то забыл. Может и надуманая ситуация, но однако.

Воше, для меня, как для чела от DB как-то так немного дико выглядит, что save() ничего в базу не кладет, а тольки SQL коллекционирует, а commit() начинает в базу класть, но не коммитит, сим тольки closeSession() занимается. Не, логику, можно таку навернуть, я не против, тольки зачем функции так обзывать, чтоб народ путать. Или, считается, что народу про DB воше знать ничего не положено.

Кстати, коде
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
		Session session = HibernateUtil.currentSession();

		Transaction tx = session.beginTransaction();
		Vep tst =  new  Vep();
		tst.setKey( "AAA");
		tst.setValue( "BBB");
		session.save( tst);
		tx.commit();

		Transaction tx1 = session.beginTransaction();
		Vep tst1 =  new  Vep();
		tst1.setKey( "ССС");
		tst1.setValue( "ВВВ");
		session.save( tst1);
		tx1.commit();

		HibernateUtil.closeSession();

работает нормально... Что тоже выглядет несколько странно.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33061377
_Гость_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут ничего странного нет.
А представь ты делаешь в цикле 1000 session.save. И к примеру на 999 итерации все валится. Поскольку реально данные еще не закоммичены и их физически нет в БД, то откат такой транзакции происходит моментально, да и траффик+нагрузка на БД заметно ниже...

Кстати, даже непосредственно в БД в рамках sql-транзакции вставки, например, РЕАЛЬНО появятся в базе только после коммита.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33061535
maddcast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панику устроил на пустом месте.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33061583
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.hibernate.org/hib_docs/v3/reference/en/html/objectstate.html#objectstate-flushing

авторFrom time to time the Session will execute the SQL statements needed to synchronize the JDBC connection's state with the state of objects held in memory. This process, flush, occurs by default at the following points

before some query executions

from org.hibernate.Transaction.commit()

from Session.flush()
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33063291
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паника тут не причем. Просто функции надо было называть по другому. А то путаницу наводят однако.

_Кость_ Кстати, даже непосредственно в БД в рамках sql-транзакции вставки, например, РЕАЛЬНО появятся в базе только после коммита.

В зтом Вы батенька не правы, однако. Я могу и всяки selectы в рамках той-же транзакции делать. И сии selectы должны показывать, то, что я имею на данный момент, хотя это еще и не закомиченно. Для меня данные изменения уже должны РЕАЛЬНО быть в базе.

Я уже привел пример выще, к чему это может привести. Я не спорю и еще раз повторю, я от базы сюды пришел. И такое наименование вызывает совсем другие ассоциации. Конечно, для чела, от базы далекого все по барабану - как-нить допетрит. Ну так зачем же других за идиотов держать? Кончено, соптимизировать хотели, а вышло, как всегда.

Тоесть, создается впечатление, что если идет достаточно сурьезная работа с базой. Я имею ввиду контент базы постоянно меняется, а не просто идет просмотр через selectы.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33063466
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ в результате имем, что объект tst1 сохранился, а tst нет. Чо там beginTransaction сделала - непонятно (наверно rollback() =)), а вот commit всяк там SQL конечно выполнил, но закоммитить то забыл. Может и надуманая ситуация, но однако.

Это неправда - как я уже писал commit() приводит к выполнению flush() для связанной сессии. Так что оба объекта должны быть записаны в БД.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33063484
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и неправда, тольки факт. Да, сommit() вызывает flush() и соответсвенно выполняет соответсвенные SQL. И объект tst1 действительно кладется в базу. Но не коммитится! А следующая функция beginTransaction откатывает базу назад, вот tst1 и пропал! Как она это там делает, я не разбирался - скорее всего надо где-то еще и autocommit в true поставить. Тады сей коде работать будет, наверно.
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33064064
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrushok

Дело в том что этот код и так будет работать... и транзакция, которая уже закомичена такой и останется. Проверьте ваш пример и если все так и останется как вы утверждаете - сообщите полную конфигурацию все системы (версия Oracle'а, jvm, hibernate, jdbc драйвера, код создания SessionFactory)
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33065680
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, по порядку
Hibernate 3.0 (скачан недели 3 назад)
jvm 1.5 (точно не помню, тоже 3 недели назад скачал)
Оракл 9.2.0.4 (драйвы classes12 и ojdbc14 с него)
Ось - федорино горе 3.
Но это не совсем важно, я думаю.

Да, SessionFactory взял из примера про котов, как и все остальное тоже...
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33066425
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я прикрепил пример. запустите его у себя и расскажите о результате

у меня в консоль попадает следующее (hibernate 3.0.2)

Код: 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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
 16 . 05 . 2005   10 : 28 : 14  org.hibernate.cfg.Environment <clinit>
INFO: Hibernate  3 . 0 . 2 
 16 . 05 . 2005   10 : 28 : 14  org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
 16 . 05 . 2005   10 : 28 : 14  org.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
 16 . 05 . 2005   10 : 28 : 14  org.hibernate.cfg.Environment <clinit>
INFO: using JDK  1 . 4  java.sql.Timestamp handling
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration addResource
INFO: Mapping resource: hibernate.hbm.xml
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping  class : myown.hibernate3.tests.Cat -> funikov#cat
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: testOraSessionFactory
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration secondPassCompile
INFO: processing  extends  queue
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration secondPassCompile
INFO: processing collection mappings
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration secondPassCompile
INFO: processing association property references
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.Configuration secondPassCompile
INFO: processing foreign key constraints
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not  for  production use!)
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size:  20 
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@*.*.*.*: 1521 :TST11
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.connection.DriverManagerConnectionProvider configure
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: Oracle, version: Oracle9i Enterprise Edition Release  9 . 2 . 0 . 3 . 0  - Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release  9 . 2 . 0 . 3 . 0  - Production
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: Oracle JDBC driver, version:  9 . 0 . 1 . 3 . 0 
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.Oracle9Dialect
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size:  15 
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates  for  versioned data: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Aggressive release : disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO:  Default  batch fetch size:  1 
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using  default  transaction strategy (direct JDBC transactions)
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.EhCacheProvider
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache  for  minimal puts: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: enabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
 16 . 05 . 2005   10 : 28 : 15  org.hibernate.cfg.SettingsFactory buildSettings
INFO:  Default  entity-mode: pojo
 16 . 05 . 2005   10 : 28 : 16  org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
 16 . 05 . 2005   10 : 28 : 16  net.sf.ehcache.config.Configurator configure
WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/projects/other/hib_test/lib/ehcache- 1 . 1 .jar!/ehcache-failsafe.xml
 16 . 05 . 2005   10 : 28 : 16  org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Factory name: testOraSessionFactory
 16 . 05 . 2005   10 : 28 : 16  org.hibernate.util.NamingHelper getInitialContext
INFO: JNDI InitialContext properties:{}
 16 . 05 . 2005   10 : 28 : 16  org.hibernate.impl.SessionFactoryObjectFactory addInstance

...

[CLEAN]
[SAVE]
[SELECT]
================
 3 
Vasy
 2 . 7 
================
 1 
Alice
 1 . 7 
================
 2 
Murzik
 2 . 5 
...

PS> все таки если у вас что-то с первого раза не получается - это еще не повод говорить везде что hibernate не серьезный продукт, который "отучает" людей от базы...
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33066427
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот сам пример
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33095243
_Гость_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз в чем ошибка
Имею маппинг:
Код: 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.
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping  PUBLIC  "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
                         "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>
	< class  name="model.Parent" table="Parent">
		<id name="id" type="java.math.BigDecimal" column="ID">
			<generator  class ="native"/>
		</id>
		<property name="name" column="Name" type="java.lang.String"/>
		<set name="childs"
             lazy="true"
             cascade="all">
        <key column="parentID" />
        <one-to-many  class ="model.Child"/>
       </set>
	</ class >

	< class  name="model.Child" table="Child" >
		<id name="id" type="java.math.BigDecimal" column="ID">
			<generator  class ="native"/>
		</id>
		<property name="name" column="Name" type="java.lang.String"/>
		<many-to-one name="parent" column="parentID"  class ="model.Parent" />
	</ class >
</hibernate-mapping>

и код, где пытаюсь вытянуь все родительские записи и соответствующии им дочерние:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
           List parents = session.createQuery("select p from Parent as p left join p.childs as c").list();
                for  (Iterator iter = parents.iterator(); iter.hasNext(); ) {
                 Parent parent = (Parent) iter.next();
                 System.out.println("Parent: " + parent.getName() );
                 for  (Iterator it1 = parent.getChilds().iterator(); it1.hasNext();) {
                    Child child = (Child) it1.next();
                    System.out.println("Child: " + child.getName() );
                }
            }
            tx.commit();
         }  catch  (Exception ce) {
            tx.rollback();
            System.out.println( ce );
         }

В результате вылетает exception:
Parent: Parent 1
net.sf.hibernate.LazyInitializationException: Failed to lazily initialize a collection
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33095485
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему обращение к parent.getChilds() происходит после закрытия сессии в которой parent был загружен. Вот ссылка на документацию, где описывается подобная ситуация
http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html#performance-fetching-lazy

ЗЫ а в чем смысл такого запроса (select p from Parent as p left join p.childs as c)?
...
Рейтинг: 0 / 0
Тетерициские вопросики по Hibernate
    #33096539
_Гость_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cори за запрос - старый вариант. правильный - session.find("from Parent as p")
Но и с ним не работало, а проблема решилась, когда в классах Parent и Child удалил методы equals и hashCode, которые сгененрились IDEA.
Хотя в доках hibernate написано, что эти методы обязательно нужно переопределить
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Тетерициские вопросики по Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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