- - PR -
Hibernateの発行するSQLが変
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-09-12 12:50
初めて書き込みます
よろしくお願いします Hibernateを試してみてるのですが、変なSQLを発行してエラーになってしまいます。 エラー文はこんな感じです Hibernate: select customer0_.id as id0_, customer0_.firstName as firstName0_, customer0_.lastName as lastName0_, customer0_.street as street0_, customer0_.city as city0_ from customer customer0_ 2007/09/12 12:09:04 org.hibernate.util.JDBCExceptionReporter logExceptions 警告: SQL Error: 0, SQLState: 42703 2007/09/12 12:09:04 org.hibernate.util.JDBCExceptionReporter logExceptions 致命的: ERROR: column customer0_.id 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:2223) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at Hibertest.main(Hibertest.java:15) Caused by: org.postgresql.util.PSQLException: ERROR: column customer0_.id 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 org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) at org.hibernate.loader.Loader.getResultSet(Loader.java:1787) at org.hibernate.loader.Loader.doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) ... 8 more テーブル名に0_がついたり、from句がcustomer customer0_ となってしまいます。 マッピングファイルは <?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> <class name="Customer" table="customer"> <id name="id"> <generator class="increment"/> </id> <property name="firstName"/> <property name="lastName"/> <property name="street"/> <property name="city"/> </class> </hibernate-mapping> こんな感じです。 Hibernateのバージョンは3.2.5、 JDBCはpostgresql-8.2-506.jdbc3.jar(DBはpostgresql8.2.4) です。何か原因が検討つく方いらっしゃいましたらお願いします。 できれば最初はEclipsやツールなどは使わず、手作業で動かして見ようと思ったのですが、書籍もネットもツールを使うものや、バージョンが2.〜時代の古いものが多く困っています。JAVAは実務では使っていなく、勉強初めて間もないのでここまで動かすのも大変でした。 Hibernate3系の、いいサイト、書籍あったらアドバイスいただけるとうれしいです。 |
|
投稿日時: 2007-09-12 13:37
すいません。根本的な勘違いでした。
DBの方のidのをcustomer_idに変えたの忘れてました。 そこを直したら動きました。 失礼しました。 from customer customer0_というのは FROM句でcustomerにcustomer0_という別名をつけてたんですね。 ASを省略できるのを知らなかったものでお騒がせしました。 JAVAの質問でもなんでもなくて・・・お恥ずかしい |
1