- PR -

Hibernate-3.1.2について

1
投稿者投稿内容
たかし
常連さん
会議室デビュー日: 2004/10/15
投稿数: 27
投稿日時: 2006-02-10 01:13
いつもお世話になっております。

Hibernate3.1.2/Tomcat5.0/struts1.2.8でWebアプリの動作確認をしています。

Query query = session.createQuery(str);

上記を実行すると、以下の例外が発生します。

java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
org.hibernate.hql.antlr.HqlBaseParser.fromClassOrOuterQueryPath(HqlBaseParser.java:1953)
org.hibernate.hql.antlr.HqlBaseParser.fromRange(HqlBaseParser.java:1564)
org.hibernate.hql.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1408)
org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1130)
org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:702)
org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)
org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)
org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:238)
org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:155)
<以下省略>

hibernate3.jarをみるとorg.hibernate.hql.antlr.HqlBaseParserクラスは存在しますが、recoverメソッドは存在しません。
また、Hibernate3.1.2のソースで上記クラスを探しましたが、org.hibernate.hql.antlrパッケージがなくクラスも存在しません。

ネットでorg.hibernate.hql.antlr.HqlBaseParserクラスを調べていますが、特にメソッドがないなどの議論がされておらず、そもそも、通常(?)では上記のような現象は発生しないものなのか、、、よく分かりません。

上記の情報について知っていることがありましたら、ご教授ください。
なっかむ
常連さん
会議室デビュー日: 2002/12/26
投稿数: 29
投稿日時: 2006-02-10 22:44
関係無いかもしれませんが、このライブラリが
クラスパスにあります?

antlr-2.7.6rc1.jar
たかし
常連さん
会議室デビュー日: 2004/10/15
投稿数: 27
投稿日時: 2006-02-10 23:08
なっかむさん、ありがとうございます。

早速、antlr-2.7.6rc1.jarを追加したところ、正常に動作し問題が解決しました。

以下、私の環境で設定している.jarファイルです。
 hibernate3.jar
 jta.jar
 asm.jar
 asm-attrs.jar
 cglib-2.1.3.jar
 commons-collection-2.1.1.jar
 commons-logging-1.0.4.jar
 dom4j-1.6.1.jar
 ehcache-1.1.jar

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)