Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1, 10.7.1.1, 10.8.1.2, 10.8.2.2
-
None
-
Max/Linux
-
Repro attached
-
Seen in production
Description
ERROR: Subquery is only allowed to return a single column.
PROBLEM: When using derby with hibernate (or JPA) queries are created by the JPA engine per JPA spec. For tables with multi-column PK, subqueries are created with two columns in select clause (see select colofassig6_.activityID, colofassig6_.assigneeID from Assignment in the query below).
Without this support, I can not use Derby with JPA.
Hibernate: select distinct activitybe0_.activityID as activityID69_, activitybe0_.createdBy as createdBy69_, activitybe0_.createdOn as createdOn69_, activitybe0_.lastModifiedBy as lastModi4_69_, activitybe0_.lastModifiedOn as lastModi5_69_, activitybe0_.activityDate as activity6_69_, activitybe0_.activityTypeHierarchyID as activity7_69_, activitybe0_.activityTypeID as activity8_69_, activitybe0_.campaignID as campaignID69_, activitybe0_.comments as comments69_, activitybe0_.description as descrip11_69_, activitybe0_.inputID as inputID69_, activitybe0_.inputTypeID as inputTy13_69_, activitybe0_.name as name69_, activitybe0_.notes as notes69_, activitybe0_.organizationID as organiz16_69_, activitybe0_.parentActivityTypeID as parentA17_69_ from Activity activitybe0_, Activity activitybe1_ inner join ActivitySchedule colofactiv2_ on activitybe1_.activityID=colofactiv2_.activityID inner join ActivityScheduleStatus colofactiv3_ on colofactiv2_.activityScheduleID=colofactiv3_.activityScheduleID inner join ActivityScheduleStatusType activitysc4_ on colofactiv3_.activityScheduleStatusTypeID=activitysc4_.activityScheduleStatusTypeID, ActivityTypeHierarchy activityty5_ where activitybe0_.activityTypeHierarchyID=activityty5_.activityTypeHierarchyID and activityty5_.activityTypeHierarchyID=? and not (exists (select colofassig6_.activityID, colofassig6_.assigneeID from Assignment colofassig6_ where activitybe0_.activityID=colofassig6_.activityID)) and (activitybe0_.activityID<>activitybe1_.activityID or activitysc4_.name<>'Route')
2011-11-14 11:41:13,413 ERROR [org.hibernate.util.JDBCExceptionReporter] (EJB-Timer-1321288405420[target=jboss.j2ee:ear=oecrm1.6.3RC1-derby-jboss.ear,jar=builder-ejb.jar,name=WorkflowActivatorBean,service=EJB3]) Subquery is only allowed to return a single column.