powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Hibernate
25 сообщений из 26, страница 1 из 2
Проблема с Hibernate
    #34557881
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу взять данные с бд. У меня в замапенном классе(таблице) есть foreign-key. Когда я хочу взять с этого класса данные, он мне говорит:

Код: 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.
 2007 - 05 - 29   16 : 03 : 42 , 531  ERROR [org.hibernate.util.JDBCExceptionReporter] - ERROR: column personal0_.cathegoryid does not exist
org.hibernate.exception.SQLGrammarException: could not execute query
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java: 67 )
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java: 43 )
	at org.hibernate.loader.Loader.doList(Loader.java: 2148 )
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java: 2029 )
	at org.hibernate.loader.Loader.list(Loader.java: 2024 )
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java: 375 )
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java: 308 )
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java: 153 )
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java: 1106 )
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java: 79 )
	at kz.kbtu.dit.model.PersonalManager.getPersonal(PersonalManager.java: 56 )
	at kz.kbtu.dit.MainWindow.getData(MainWindow.java: 112 )
	at kz.kbtu.dit.MainWindow.open(MainWindow.java: 87 )
	at kz.kbtu.dit.MainWindow.main(MainWindow.java: 72 )
Caused by: org.postgresql.util.PSQLException: ERROR: column personal0_.cathegoryid does not exist
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java: 1548 )
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java: 1316 )
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java: 191 )
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java: 452 )
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java: 351 )
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java: 255 )
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java: 76 )
	at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java: 139 )
	at org.hibernate.loader.Loader.getResultSet(Loader.java: 1669 )
	at org.hibernate.loader.Loader.doQuery(Loader.java: 662 )
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java: 224 )
	at org.hibernate.loader.Loader.doList(Loader.java: 2145 )
	...  11  more

Вот кусок метода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public  List getPersonal() {
		List personal =  null ;
		Session session = HibernateUtil.getCurrentSession();
		Transaction transaction = session.beginTransaction();
		 try  {
			personal = ( List ) session.createQuery(
					"FROM Personal").list();
			transaction.commit();
		}  catch  ( HibernateException ex ) {
			 throw  ex;
		}
		 return  personal;
	}

а вот моя таблица:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?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 schema="public"  package ="kz.kbtu.dit.model"> 
  < class  name="Personal" table="personal" optimistic-lock="none"> 
    <id name="id" type="long" unsaved-value="null">
      <column name="id" not- null ="true" unique="true"/>
      <generator  class ="native"/>
    </id>
    <property name="name" type="string" column="name" length="30" not- null ="true"/>
    <property name="surname" type="string" column="surname" length="50" not- null ="true"/>
    <property name="email" type="string" column="email" length="70" not- null ="true"/>
    <property name="phone" type="string" column="phone" length="25" not- null ="true"/>
    <property name="mobilePhone" type="string" column="mobile_phone" length="15" not- null ="true"/>
    <many-to-one name="cathegoryId" entity-name="kz.kbtu.dit.model.Cathegory" cascade="none" foreign-key="dit_personal_fk" column="cathegoryId" not- null ="false"/>
    <many-to-one name="postId" entity-name="kz.kbtu.dit.model.Post" cascade="none" foreign-key="dit_personal_fk2" column="postId" not- null ="false"/>
    <many-to-one name="departmentId" entity-name="kz.kbtu.dit.model.Department" cascade="none" foreign-key="dit_personal_fk1" column="departmentId" not- null ="false"/>
    <bag name="container" inverse="true" cascade="none"> 
      <key foreign-key="dit_container_fk1" column="personalId"/>
      <one-to-many entity-name="kz.kbtu.dit.model.Container"/>
    </bag>
  </ class >
</hibernate-mapping>
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34557906
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторcolumn="cathegoryId"
в файле мапинга опечатка
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34557923
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что же там очепятано. Я не вижу.
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34557944
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да наверно опечатки нет, но столбец так называется в БД?

PS: слово какое-то не русское "cathegory", что означает?
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34557960
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется есть. Не, мапинги правильные. Я думаю, может как-то по-другому берутся данные с таблиц у которых есть FK.

P.S. это на англ. Как слышится, почти так и переводится.
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34557992
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предлагаю получить сам sql, а потом его выполнить в каком-нибудь DbVisualizer
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558164
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну может кто-нибудь знает, почему???

Кстати, таблица у меня пустая. Это ничего?
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558178
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuessirНу может кто-нибудь знает, почему???
Ну, может DDL покажешь, чтобы об обстрактной базе не говорить?
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558184
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лог SQL включите и попробуйте выполнить последний запрос
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558231
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz QuessirНу может кто-нибудь знает, почему???
Ну, может DDL покажешь, чтобы об обстрактной базе не говорить?

Код: 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.
CREATE TABLE "public"."personal" (
  "id" BIGINT NOT  NULL , 
  "name" VARCHAR( 30 ) NOT  NULL , 
  "surname" VARCHAR( 50 ) NOT  NULL , 
  "email" VARCHAR( 70 ) NOT  NULL , 
  "phone" VARCHAR( 25 ) NOT  NULL , 
  "mobile_phone" VARCHAR( 15 ) NOT  NULL , 
  "cathegoryId" SMALLINT NOT  NULL , 
  "departmentId" SMALLINT NOT  NULL , 
  "postId" SMALLINT NOT  NULL , 
  CONSTRAINT "dit_personal_pkey" PRIMARY KEY("id"), 
  CONSTRAINT "dit_personal_fk" FOREIGN KEY ("cathegoryId")
    REFERENCES "public"."cathegory"("id")
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE, 
  CONSTRAINT "dit_personal_fk1" FOREIGN KEY ("departmentId")
    REFERENCES "public"."department"("id")
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE, 
  CONSTRAINT "dit_personal_fk2" FOREIGN KEY ("postId")
    REFERENCES "public"."post"("id")
    ON DELETE NO ACTION
    ON UPDATE NO ACTION
    NOT DEFERRABLE
) WITH OIDS;
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558324
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй в файл hibernate.cfg.xml добавить
Код: plaintext
<property name="show_sql">true</property>
взять из лога, запрос и выполнить отдельно
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558339
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может база Case sensitive к именам? cathegoryId vs cathegoryid? Hibernate кажется все к одному кейсу приводит и это где-то настраивается.
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558369
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМожет база Case sensitive к именам? cathegoryId vs cathegoryid? Hibernate кажется все к одному кейсу приводит и это где-то настраивается.

Ну почти то, что ты сказал.

Код: plaintext
1.
2.
Hibernate: select personal0_.id as id6_, personal0_.name as name6_, personal0_.surname as surname6_, personal0_.email as email6_, personal0_.phone as phone6_, personal0_.mobile_phone as mobile6_6_, personal0_.cathegoryId as cathegor7_6_, personal0_.postId as postId6_, personal0_.departmentId as departme9_6_ from  public .personal personal0_
 2007 - 05 - 29   17 : 55 : 49 , 375  WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error:  0 , SQLState:  42703 
 2007 - 05 - 29   17 : 55 : 49 , 375  ERROR [org.hibernate.util.JDBCExceptionReporter] - ERROR: column personal0_.cathegoryid does not exist
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558371
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только где он cathegoryid взял???
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558415
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quessir
Код: plaintext
select ...

а запрос нормально отрабатывает, если без hibernate?
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558439
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык таблица пустая!
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558460
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QuessirДык таблица пустая!
главное чтоб exception не было
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558475
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0 QuessirДык таблица пустая!
главное чтоб exception не было

Да не должен быть exception. Просто на result придет null и все.

Кстати, странно это. Чтобы он не понимал "полеТаблицы". Это ведь нормальная форма именования полей. Или у меня че то не то. Тока блин фиг разберешься.
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558503
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в мапинге
Код: plaintext
<many-to-one name="cathegoryId" ... not- null ="false"/>

в скрипте
Код: plaintext
"cathegoryId" SMALLINT NOT  NULL 
нехорошо
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558514
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну собственно и хотелось проверить правильный мапинг у тебя или нет.

пустой ResultSet это тоже результат, причем нормальный. А вот ошибка "cathegoryid does not exist" сразу бы показала что у тебя, где-то в мапинге косяк.

ну так на вскидку вроде запрос правильный, простой, без всяких наворотов.
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34558606
Quessir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vas0ну собственно и хотелось проверить правильный мапинг у тебя или нет.

пустой ResultSet это тоже результат, причем нормальный. А вот ошибка "cathegoryid does not exist" сразу бы показала что у тебя, где-то в мапинге косяк.

ну так на вскидку вроде запрос правильный, простой, без всяких наворотов.

В принципе все врое правильно. Но! оказалось у fk только один тип отличался. Он был not null. А тот к которому ссылался, мог быть null. Я извиняюсь, мой был косяк. Все работает, всем спасибо.

P.S. И че он (хибер) мне сразу не сказал, падла!
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34577000
Evgen.83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О Великие Гуру ПОМОГИТЕ!!! начал осваивать hibernate и у мя вылез Exception:
org.hibernate.MappingException: Could not determine type for: varchar, for columns: [org.hibernate.mapping.Column(TITLE)]
в map файле property: <property name="title" column="title" type="String" not-null="true"/>
в базе эта колонка с типом: VARCHAR(40) UTF8
пользуюсь Firebird!!!
P.S: Заранее благодарен!!!
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34577091
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
type="java.lang.String" ???
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34577114
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю type="string" лучше, а вообще выбросите этот атрибут если проперти типа java.lang.String
...
Рейтинг: 0 / 0
Проблема с Hibernate
    #34577135
Evgen.83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zalexakaдумаю type="string" лучше, а вообще выбросите этот атрибут если проперти типа java.lang.String

без указания типа в мап файле вылазит тот же exception мне кажется тут нужно копать в сторону бд потому что именно только с етим полем вылазит ошибка, а оно очень нужно!!! уже вроде всё перепробовал!!!
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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