Hi, I'm working on a project using openjpa 1.0.2. I got
org.apache.openjpa.persistence.ArgumentException while executing a simple
query today, wish someone can help me on this issue. Thanks
The query I'm trying to execute is:
"select job from job j"
Moreover there is no problem for me to create a new job record.
Three related persistence classes are defined as the following:
@Table(name = "job")
@Entity(name = "job")
public class Job implements Serializable{
@Id
@Column (name = "job_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long jobId;
@Column (name = "job_name", length = 255, nullable = false)
private String jobName;
@Column
private String status;
@ManyToOne (optional = false)
@JoinColumn(name = "create_by", referencedColumnName = "user_id")
private User createUser;
@Column (name = "create_time")
private Date createTime;
@ManyToOne (optional = true)
@JoinColumn(name = "update_by", referencedColumnName = "user_id")
private User updateUser;
@Column (name = "update_time")
private Date updateTime;
@ManyToOne (optional = false, fetch = FetchType.EAGER)
@JoinColumn(name = "proj_lead_id", referencedColumnName = "user_id")
private User projectLead;
@ManyToOne (optional = false, fetch = FetchType.EAGER)
@JoinColumn(name = "designer_id", referencedColumnName = "user_id")
private User designer;
@Column (name = "approve_by")
private String approveBy;
@Column (name = "concept_date")
private Date conceptDate;
@Column (name = "vendor_due_date")
private Date vendorDueDate;
@Column (name = "release_date")
private Date releaseDate;
...
}
@Entity(name = "user")
@Table(name = "usr_user")
public class User implements Serializable {
private static final long serialVersionUID = 3L;
@Id
@Column (name = "user_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long userId;
@Column
private String password;
@Column (name = "user_name", length = 20, nullable = false)
private String userName;
@Column (name = "first_name", length = 32, nullable = false)
private String firstName;
@Column (name = "last_name", length = 32, nullable = false)
private String lastName;
@Column (name = "mid_name", length = 20, nullable = true)
private String midName;
@ManyToOne (optional = false, fetch = FetchType.EAGER)
@JoinColumn(name = "role_id", referencedColumnName = "role_id")
private Role role;
...
}
@Entity (name = "role")
@Table(name = "role")
public class Role {
@Id
@Column (name="role_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long roleId;
@Column (name="role_name", length = 20, nullable = false)
private String roleName;
...
}
and the exception details I got are
javax.faces.FacesException: Error calling action method of component with id
job-search-form:search-button
at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
at javax.faces.component.UICommand.broadcast(UICommand.java:121)
at
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:292)
at javax.faces.component.UIViewRoot.process(UIViewRoot.java:209)
at
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
at
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.EvaluationException: javax.el.ELException:
/web/searchJob.xhtml @278,43 action="#{jobBacking.search}":
org.springframework.dao.InvalidDataAccessApiUsageException: nested exception
is <openjpa-1.0.2-r420667:627158 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: null
at
javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:79)
at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
... 23 more
Caused by: javax.el.ELException: /web/searchJob.xhtml @278,43
action="#{jobBacking.search}":
org.springframework.dao.InvalidDataAccessApiUsageException: nested exception
is <openjpa-1.0.2-r420667:627158 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: null
at
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
at
javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
... 24 more
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException:
nested exception is <openjpa-1.0.2-r420667:627158 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: null
at
org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:269)
at
org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
at
org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212)
at
org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152)
at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:190)
at
org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:152)
at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:299)
at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:295)
at com.xyz.dao.JobDAO.searchJob(JobDAO.java:209)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy11.searchJob(Unknown Source)
at com.xyz.backing.JobBacking.search(JobBacking.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.el.parser.AstValue.invoke(AstValue.java:152)
at
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
... 25 more
Caused by: <openjpa-1.0.2-r420667:627158 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: null
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:808)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:769)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:765)
at
org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:517)
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:238)
at
org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:277)
at
org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:307)
at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:185)
... 44 more
Caused by: java.lang.NullPointerException
at
org.apache.openjpa.jdbc.kernel.exps.PCPath.initialize(PCPath.java:445)
at
org.apache.openjpa.jdbc.kernel.exps.SelectConstructor.initialize(SelectConstructor.java:197)
at
org.apache.openjpa.jdbc.kernel.exps.SelectConstructor.newSelect(SelectConstructor.java:119)
at
org.apache.openjpa.jdbc.kernel.exps.SelectConstructor.evaluate(SelectConstructor.java:73)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreQuery.createWhereSelects(JDBCStoreQuery.java:331)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreQuery.executeQuery(JDBCStoreQuery.java:171)
at
org.apache.openjpa.kernel.ExpressionStoreQuery$DataStoreExecutor.executeQuery(ExpressionStoreQuery.java:676)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:988)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:799)
... 51 more
--
View this message in context:
http://n2.nabble.com/Query-problem-with-open-jpa-1.0.2-tp395802p395802.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.