Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / связь many-to-many / 1 сообщений из 1, страница 1 из 1
24.10.2006, 10:38:27
    #34076079
Alexey Bo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
связь many-to-many
В первый раз пишу маппитг для связи многие-ко-многим и возникли трудности.
Есть 3 таблицы:

Код: plaintext
1.
2.
3.
CREATE TABLE users(
  id int4 NOT  NULL   DEFAULT  nextval('users_seq'::regclass),
  nic varchar( 50 ),
  CONSTRAINT user_id PRIMARY KEY (id)) 

Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TABLE user_service(
  users_id int4 NOT  NULL ,
  services_id int4 NOT  NULL ,
  CONSTRAINT user_servise_pk PRIMARY KEY (users_id, services_id),
  CONSTRAINT user_service_service_id FOREIGN KEY (services_id) REFERENCES services (id) ON UPDATE NO ACTION ON DELETE CASCADE,
  CONSTRAINT user_service_user_id FOREIGN KEY (users_id) REFERENCES users (id) ON UPDATE NO ACTION ON DELETE CASCADE
)

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE services(
  id int4 NOT  NULL   DEFAULT  nextval('services_seq'::regclass),
  name varchar( 20 ) NOT  NULL ,
  "key" varchar( 2 ) NOT  NULL ,
  CONSTRAINT services_id PRIMARY KEY (id),
)

В маппинге для users пишу:
Код: plaintext
1.
2.
3.
<set name="services" table="user_service">
	<key column="users_id"/>
	<many-to-many column="services_id"  class ="Services"/>
</set>

При попытке загрузить пользователя (н-р, методом session.get) появляются вылезают исключения:

Код: 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.
 18907  [main] ERROR org.hibernate.util.JDBCExceptionReporter  - ???»???????? Integer list
 19047  [main] INFO  org.hibernate.event.def.DefaultLoadEventListener  - Error performing load command
org.hibernate.exception.DataException: could not initialize a collection: [com.skiber.ucb.beans.UcbUser.services# 2 ]
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java: 75 )
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java: 43 )
	at org.hibernate.loader.Loader.loadCollection(Loader.java: 1926 )
	at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java: 71 )
	at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java: 520 )
	at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java: 60 )
	at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java: 1627 )
	at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java: 454 )
	at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java: 827 )
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java: 229 )
	at org.hibernate.loader.Loader.loadEntity(Loader.java: 1785 )
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java: 93 )
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java: 81 )
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java: 2730 )
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java: 365 )
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java: 346 )
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java: 123 )
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java: 161 )
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java: 87 )
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java: 869 )
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java: 806 )
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java: 799 )


Caused by: org.postgresql.util.PSQLException: ???»???????? Integer list
	at org.postgresql.jdbc1.AbstractJdbc1ResultSet.toInt(AbstractJdbc1ResultSet.java: 862 )
	at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getInt(AbstractJdbc1ResultSet.java: 287 )
	at org.postgresql.jdbc1.AbstractJdbc1ResultSet.getInt(AbstractJdbc1ResultSet.java: 501 )
	at org.hibernate.type.IntegerType.get(IntegerType.java: 28 )
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java: 113 )
	at org.hibernate.type.NullableType.nullSafeGet(NullableType.java: 102 )
	at org.hibernate.type.AbstractType.hydrate(AbstractType.java: 81 )
	at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java: 1899 )
	at org.hibernate.loader.Loader.loadFromResultSet(Loader.java: 1372 )
	at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java: 1300 )
	at org.hibernate.loader.Loader.getRow(Loader.java: 1197 )
	at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java: 569 )
	at org.hibernate.loader.Loader.doQuery(Loader.java: 689 )
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java: 224 )
	at org.hibernate.loader.Loader.loadCollection(Loader.java: 1919 )
	...  61  more
Подскажите, в чём ошибка
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / связь many-to-many / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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