powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / связь many-to-many
1 сообщений из 1, страница 1 из 1
связь many-to-many
    #34076079
Alexey Bo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В первый раз пишу маппитг для связи многие-ко-многим и возникли трудности.
Есть 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
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / связь many-to-many
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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