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
--
Sent from the OpenJPA Users mailing list archive at Nabble.com.