Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Hibernate / 25 сообщений из 26, страница 1 из 2
29.05.2007, 14:03:10
    #34557881
Quessir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
Не могу взять данные с бд. У меня в замапенном классе(таблице) есть 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
29.05.2007, 14:10:33
    #34557906
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
авторcolumn="cathegoryId"
в файле мапинга опечатка
...
Рейтинг: 0 / 0
29.05.2007, 14:15:25
    #34557923
Quessir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
И что же там очепятано. Я не вижу.
...
Рейтинг: 0 / 0
29.05.2007, 14:21:27
    #34557944
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
да наверно опечатки нет, но столбец так называется в БД?

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

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

Кстати, таблица у меня пустая. Это ничего?
...
Рейтинг: 0 / 0
29.05.2007, 15:09:39
    #34558178
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
QuessirНу может кто-нибудь знает, почему???
Ну, может DDL покажешь, чтобы об обстрактной базе не говорить?
...
Рейтинг: 0 / 0
29.05.2007, 15:12:08
    #34558184
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
лог SQL включите и попробуйте выполнить последний запрос
...
Рейтинг: 0 / 0
29.05.2007, 15:21:18
    #34558231
Quessir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
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
29.05.2007, 15:42:31
    #34558324
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
попробуй в файл hibernate.cfg.xml добавить
Код: plaintext
<property name="show_sql">true</property>
взять из лога, запрос и выполнить отдельно
...
Рейтинг: 0 / 0
29.05.2007, 15:45:48
    #34558339
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
Может база Case sensitive к именам? cathegoryId vs cathegoryid? Hibernate кажется все к одному кейсу приводит и это где-то настраивается.
...
Рейтинг: 0 / 0
29.05.2007, 15:51:43
    #34558369
Quessir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
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
29.05.2007, 15:53:08
    #34558371
Quessir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
Только где он cathegoryid взял???
...
Рейтинг: 0 / 0
29.05.2007, 16:03:40
    #34558415
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
Quessir
Код: plaintext
select ...

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

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

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

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

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

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

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

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

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

P.S. И че он (хибер) мне сразу не сказал, падла!
...
Рейтинг: 0 / 0
06.06.2007, 10:36:30
    #34577000
Evgen.83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
О Великие Гуру ПОМОГИТЕ!!! начал осваивать 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
06.06.2007, 11:08:11
    #34577091
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
type="java.lang.String" ???
...
Рейтинг: 0 / 0
06.06.2007, 11:14:42
    #34577114
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
думаю type="string" лучше, а вообще выбросите этот атрибут если проперти типа java.lang.String
...
Рейтинг: 0 / 0
06.06.2007, 11:21:55
    #34577135
Evgen.83
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Hibernate
zalexakaдумаю type="string" лучше, а вообще выбросите этот атрибут если проперти типа java.lang.String

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


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