EclipseLink で、
エラー内容と、
エラー内容
Local Exception Stack: Exception [EclipseLink-6078] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.QueryException Exception Description: The class of the argument for the object comparison is incorrect. Expression: [ Base xyz.monotalk.xxx] Mapping: [org.eclipse.persistence.mappings.ManyToOneMapping[festivalArtistTagId]] Argument: [5] Query: ReadAllQuery(referenceClass=SearchResult jpql="SELECT sResult FROM SearchResult sResult INNER JOIN SearchQuery sQuery ON sResult.searchQueryId = sQuery INNER JOIN FATagSQueryRelation fATSQRelation ON sQuery = fATSQRelation.searchQueryId WHERE fATSQRelation.festivalArtistTagId = 5") at org.eclipse.persistence.exceptions.QueryException.incorrectClassForObjectComparison(QueryException.java:601) at org.eclipse.persistence.mappings.OneToOneMapping.buildObjectJoinExpression(OneToOneMapping.java:298) at org.eclipse.persistence.internal.expressions.RelationExpression.normalize(RelationExpression.java:830) at org.eclipse.persistence.internal.expressions.SQLSelectStatement.normalize(SQLSelectStatement.java:1449) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.buildNormalSelectStatement(ExpressionQueryMechanism.java:549) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.prepareSelectAllRows(ExpressionQueryMechanism.java:1720) at org.eclipse.persistence.queries.ReadAllQuery.prepareSelectAllRows(ReadAllQuery.java:813) at org.eclipse.persistence.queries.ReadAllQuery.prepare(ReadAllQuery.java:744) at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:661) at org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:901) at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:613) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:194) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86) at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1603)
原因と 対処
クエリを
修正後の
SELECT sResult FROM SearchResult sResult INNER JOIN SearchQuery sQuery ON sResult.searchQueryId = sQuery INNER JOIN FATagSQueryRelation fATSQRelation ON sQuery = fATSQRelation.searchQueryId WHERE fATSQRelation.festivalArtistTagId.id = 5
フィールド festivalArtistTagId
はfestivalArtistTagId.id
と
この
以上です。
コメント