Hibernate JPQL INクエリのエラー:パラメーター1に値が指定されていません

user473453

Hibernate 4.3.5.Final、Postgresql 9.3-1101-jdbc41、GlassFish4を使用しています。user1とuser2を含むすべてのメッセージスレッドを選択するJPQLクエリを作成したいと思います。メッセージスレッドに参加しているユーザーは、ArrayList参加者に格納されます。

このクエリで:

ArrayList<UserBean> users = new ArrayList(Arrays.asList(user1, user2));
        Query query = em.createQuery("SELECT mt FROM MessageThreadBean mt WHERE mt.participants IN (:users)");
        query.setParameter("users", users);

このエラーが発生します:

WARN:   SQL Error: 0, SQLState: 22023
ERROR:   No value specified for parameter 1.
Info:   HHH000106: Forcing container resource cleanup on transaction completion
Severe:   javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not extract ResultSet
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:458)
at com.sun.enterprise.container.common.impl.QueryWrapper.getResultList(QueryWrapper.java:84)
at com.dobe.hobbyleague.backingbeans.RightSideBarBackingBean.selectUserLoadThreads(RightSideBarBackingBean.java:78)
at com.dobe.hobbyleague.backingbeans.RightSideBarBackingBean$Proxy$_$$_WeldClientProxy.selectUserLoadThreads(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at javax.el.ELUtil.invokeMethod(ELUtil.java:326)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:536)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:256)
at com.sun.el.parser.AstValue.invoke(AstValue.java:269)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:813)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:1108)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:205)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:873)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:739)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:575)
at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:546)
at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:428)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:378)
at org.ocpsoft.rewrite.servlet.impl.HttpRewriteResultHandler.handleResult(HttpRewriteResultHandler.java:41)
at org.ocpsoft.rewrite.servlet.RewriteFilter.rewrite(RewriteFilter.java:268)
at org.ocpsoft.rewrite.servlet.RewriteFilter.doFilter(RewriteFilter.java:188)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.exception.DataException: could not extract ResultSet
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:135)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:89)
at org.hibernate.loader.Loader.getResultSet(Loader.java:2065)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
at org.hibernate.loader.Loader.doQuery(Loader.java:909)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
at org.hibernate.loader.Loader.doList(Loader.java:2553)
at org.hibernate.loader.Loader.doList(Loader.java:2539)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369)
at org.hibernate.loader.Loader.list(Loader.java:2364)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:231)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573)
at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449)
... 72 more
Caused by: org.postgresql.util.PSQLException: No value specified for parameter 1.
at org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet(SimpleParameterList.java:216)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:244)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:559)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
at com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40.executeQuery(PreparedStatementWrapper40.java:642)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:80)
... 88 more

私は何か間違ったことをしていますか?私がやりたいことを達成するためのより良い方法はありますか?ありがとう。

Genzotto

idで見つける必要があります:

ArrayList<Long> users = new ArrayList(Arrays.asList(user1.getId(), user2.getId()));
Query query = em.createQuery("FROM MessageThreadBean mt WHERE mt.participants.id IN (:users)");
query.setParameter("users", users);

更新

エラーが発生した場合は、両方のテーブルを結合してみてください。

"FROM MessageThreadBean mt INNER JOIN mt.participants p WHERE p.id IN (:users)"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JPQL:EclipseLinkとHibernateの違い

分類Dev

Spring JPAおよびHibernateでのJPQLクエリエラー

分類Dev

JPQL / Hibernateクエリの動的テーブル名

分類Dev

Hibernateクエリはバインドされたパラメーター(?)としての値では機能しませんが、クエリに配置すると機能します

分類Dev

FROM句にサブクエリをJPQLクエリを書くことができない - 春データJPA - Hibernateは

分類Dev

Hibernateを使用したJPQL型付きクエリのタイムスタンプリテラル

分類Dev

JPQLとHibernateを使用した1:n関係の選択

分類Dev

HibernateでJPQL(HQLではない)を使用する

分類Dev

JPAおよびHibernate-基準とJPQLまたはHQL

分類Dev

Hibernate performs update and delete on custom JPQL

分類Dev

Hibernate:JPQLクエリで使用されるネイティブクエリからのBigIntegerとLong

分類Dev

Java Hibernateエラー-クラスがマップされていません

分類Dev

jpql(NamedQuery)サブクエリがパラメータで機能しない

分類Dev

JavaまたはTSQLのHibernate / JPQLのスクリプトはより高速に実行されます

分類Dev

JPQLおよびHibernateとのネストされたフェッチ結合

分類Dev

JPQLおよびHibernateとのネストされたフェッチ結合

分類Dev

Hibernateが奇妙なエラーをスローします:クラスがマップされていません

分類Dev

Oledbクエリの1つ以上の必須パラメーターに値が指定されていません

分類Dev

SQLおよびJPQLクエリ-指定された日付のパラメーターでグループ化されたすべてのレコードを検索します

分類Dev

HibernateはカスタムJPQLで更新と削除を実行します

分類Dev

JPA:JPQLのJOIN

分類Dev

JPA/Hibernate:リスト属性をjpqlクエリに関連付けることは可能ですか?

分類Dev

hibernate JPAエラー:org.hibernate.hql.internal.ast.QuerySyntaxException:ユーザーがマップされていません

分類Dev

JPQLクエリが大文字と小文字を区別しないパラメーターに対して機能しない

分類Dev

SQLクエリはOKですが、Hibernateを使用しています「クエリによって複数のResultSetが返されました。」-エラー

分類Dev

hibernateクエリでnolockが使用されているときに認識エラーが発生しました

分類Dev

JPA:パラメータが設定された後、(型付きの)クエリの背後にあるJPQLクエリ文字列をどのように取得/印刷しますか?

分類Dev

hibernateを使用してデータは挿入されませんが、エラーは発生しませんか?

分類Dev

Hibernateエラー-QuerySyntaxException:ユーザーがマッピングされていません[ユーザーから]

Related 関連記事

  1. 1

    JPQL:EclipseLinkとHibernateの違い

  2. 2

    Spring JPAおよびHibernateでのJPQLクエリエラー

  3. 3

    JPQL / Hibernateクエリの動的テーブル名

  4. 4

    Hibernateクエリはバインドされたパラメーター(?)としての値では機能しませんが、クエリに配置すると機能します

  5. 5

    FROM句にサブクエリをJPQLクエリを書くことができない - 春データJPA - Hibernateは

  6. 6

    Hibernateを使用したJPQL型付きクエリのタイムスタンプリテラル

  7. 7

    JPQLとHibernateを使用した1:n関係の選択

  8. 8

    HibernateでJPQL(HQLではない)を使用する

  9. 9

    JPAおよびHibernate-基準とJPQLまたはHQL

  10. 10

    Hibernate performs update and delete on custom JPQL

  11. 11

    Hibernate:JPQLクエリで使用されるネイティブクエリからのBigIntegerとLong

  12. 12

    Java Hibernateエラー-クラスがマップされていません

  13. 13

    jpql(NamedQuery)サブクエリがパラメータで機能しない

  14. 14

    JavaまたはTSQLのHibernate / JPQLのスクリプトはより高速に実行されます

  15. 15

    JPQLおよびHibernateとのネストされたフェッチ結合

  16. 16

    JPQLおよびHibernateとのネストされたフェッチ結合

  17. 17

    Hibernateが奇妙なエラーをスローします:クラスがマップされていません

  18. 18

    Oledbクエリの1つ以上の必須パラメーターに値が指定されていません

  19. 19

    SQLおよびJPQLクエリ-指定された日付のパラメーターでグループ化されたすべてのレコードを検索します

  20. 20

    HibernateはカスタムJPQLで更新と削除を実行します

  21. 21

    JPA:JPQLのJOIN

  22. 22

    JPA/Hibernate:リスト属性をjpqlクエリに関連付けることは可能ですか?

  23. 23

    hibernate JPAエラー:org.hibernate.hql.internal.ast.QuerySyntaxException:ユーザーがマップされていません

  24. 24

    JPQLクエリが大文字と小文字を区別しないパラメーターに対して機能しない

  25. 25

    SQLクエリはOKですが、Hibernateを使用しています「クエリによって複数のResultSetが返されました。」-エラー

  26. 26

    hibernateクエリでnolockが使用されているときに認識エラーが発生しました

  27. 27

    JPA:パラメータが設定された後、(型付きの)クエリの背後にあるJPQLクエリ文字列をどのように取得/印刷しますか?

  28. 28

    hibernateを使用してデータは挿入されませんが、エラーは発生しませんか?

  29. 29

    Hibernateエラー-QuerySyntaxException:ユーザーがマッピングされていません[ユーザーから]

ホットタグ

アーカイブ