2009-12-08 169 views
2

我使用Seam並嘗試使用JPA在幾個實體之間組織繼承。 個人實體應該是父母,用戶和合作者實體應該是子女。 選擇的繼承策略是SINGLE_TABLE。使用PostgreSQL的JPA繼承

Person實體如下:

@Entity 
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) 
@DiscriminatorColumn(
    name="persontype", 
    discriminatorType=DiscriminatorType.STRING 
) 

@Table(name="people") 
public abstract class Person implements Serializable { 
    private static final long serialVersionUID = 2876596753307415768L; 

    @Id 
    @SequenceGenerator(name = "people_id_gen", sequenceName="people_id_seq", initialValue=0, allocationSize=1) 
    @GeneratedValue(generator="people_id_gen",strategy=GenerationType.SEQUENCE) 
    private Long id; 
    private Integer version; 

    public void setId(Long id) { 
     this.id = id; 
    } 
    public Long getId() { 
     return id; 
    } 

    @Version 
    private void setVersion(Integer version) { 
      this.version = version; 
     } 
    public Integer getVersion() { 
     return version; 
    } 
} 

用戶代碼:

@Entity 
@DiscriminatorValue("User") 
public class User extends Person implements Serializable 
{ 
    private String foo; 

    @NotNull 
    public String getFoo() { 
     return foo; 
    } 
    public void setFoo(String foo) { 
     this.foo = foo; 
    } 
} 

和合作夥伴行:

@Entity 
@DiscriminatorValue("Partner") 
public class Partner extends Person implements Serializable 
{ 
    private String bar; 

    @NotNull 
    public void setBar(String bar) { 
     this.bar = bar; 
    } 
    public String getBar() { 
     return bar; 
    } 
} 

當我嘗試選擇或刪除一些用戶或合作伙伴,它看起來不錯。 創建用戶觸發器沒有問題。 但是,嘗試創建合作伙伴實例給了我很多例外。堆棧開始用下面的話:

21:27:27361 INFO [STDOUT]休眠:

select 
    nextval ('people_id_seq') 21:27:27,365 SEVERE [application] 

java.lang.IllegalStateException:難道 沒有得到屬性值

我還注意到,向用戶實體添加任何字段都會引發錯誤。關於父母權利的情況也是如此。

使用PostgreSQL 8.4.1和postgresql-8.4-701.jdbc4.jar。

任何人都可以解釋發生了什麼?

UPD:

下面是完整的堆棧跟蹤:

16:30:29,748 INFO [STDOUT] Hibernate: 
    select 
     partner0_.id as id123_, 
     partner0_.version as version123_, 
     partner0_.bar as bar123_ 
    from 
     people partner0_ 
    where 
     partner0_.persontype='Partner' 
16:31:05,182 INFO [STDOUT] Hibernate: 
    select 
     nextval ('people_id_seq') 
16:31:05,186 SEVERE [application] java.lang.IllegalStateException: Could not get property value 
javax.faces.el.EvaluationException: java.lang.IllegalStateException: Could not get property value 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:387) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
    at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 
    at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    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:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:619) 
Caused by: java.lang.IllegalStateException: Could not get property value 
    at org.hibernate.validator.ClassValidator.getMemberValue(ClassValidator.java:539) 
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:384) 
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:352) 
    at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:139) 
    at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172) 
    at org.hibernate.action.EntityInsertAction.preInsert(EntityInsertAction.java:178) 
    at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:72) 
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) 
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) 
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) 
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) 
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) 
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) 
    at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:304) 
    at org.jboss.seam.persistence.EntityManagerProxy.flush(EntityManagerProxy.java:92) 
    at org.jboss.seam.framework.EntityHome.persist(EntityHome.java:85) 
    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:597) 
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) 
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) 
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:97) 
    at org.jboss.seam.util.Work.workInTransaction(Work.java:47) 
    at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:91) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) 
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) 
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) 
    at org.emanemos.mailbox.session.PartnerHome_$$_javassist_seam_3.persist(PartnerHome_$$_javassist_seam_3.java) 
    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:597) 
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335) 
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348) 
    at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58) 
    at org.jboss.el.parser.AstValue.invoke(AstValue.java:96) 
    at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) 
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) 
    ... 53 more 
Caused by: java.lang.IllegalArgumentException: Invoking setbar with wrong parameters 
    at org.hibernate.annotations.common.reflection.java.JavaXMethod.invoke(JavaXMethod.java:39) 
    at org.hibernate.validator.ClassValidator.getMemberValue(ClassValidator.java:536) 
    ... 102 more 
Caused by: java.lang.IllegalArgumentException: wrong number of arguments 
    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:597) 
    at org.hibernate.annotations.common.reflection.java.JavaXMethod.invoke(JavaXMethod.java:33) 
    ... 103 more 
16:31:05,190 WARNING [lifecycle] #{partnerHome.persist}: java.lang.IllegalStateException: Could not get property value 
javax.faces.FacesException: #{partnerHome.persist}: java.lang.IllegalStateException: Could not get property value 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:387) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) 
    at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 
    at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 
    at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 
    at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
    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:235) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) 
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:619) 
Caused by: javax.faces.el.EvaluationException: java.lang.IllegalStateException: Could not get property value 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    ... 52 more 
Caused by: java.lang.IllegalStateException: Could not get property value 
    at org.hibernate.validator.ClassValidator.getMemberValue(ClassValidator.java:539) 
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:384) 
    at org.hibernate.validator.ClassValidator.getInvalidValues(ClassValidator.java:352) 
    at org.hibernate.validator.event.ValidateEventListener.validate(ValidateEventListener.java:139) 
    at org.hibernate.validator.event.ValidateEventListener.onPreInsert(ValidateEventListener.java:172) 
    at org.hibernate.action.EntityInsertAction.preInsert(EntityInsertAction.java:178) 
    at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:72) 
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279) 
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263) 
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167) 
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) 
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) 
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) 
    at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:304) 
    at org.jboss.seam.persistence.EntityManagerProxy.flush(EntityManagerProxy.java:92) 
    at org.jboss.seam.framework.EntityHome.persist(EntityHome.java:85) 
    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:597) 
    at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) 
    at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) 
    at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:97) 
    at org.jboss.seam.util.Work.workInTransaction(Work.java:47) 
    at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:91) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) 
    at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 
    at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) 
    at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) 
    at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) 
    at org.emanemos.mailbox.session.PartnerHome_$$_javassist_seam_3.persist(PartnerHome_$$_javassist_seam_3.java) 
    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:597) 
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335) 
    at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348) 
    at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58) 
    at org.jboss.el.parser.AstValue.invoke(AstValue.java:96) 
    at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) 
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) 
    ... 53 more 
Caused by: java.lang.IllegalArgumentException: Invoking setbar with wrong parameters 
    at org.hibernate.annotations.common.reflection.java.JavaXMethod.invoke(JavaXMethod.java:39) 
    at org.hibernate.validator.ClassValidator.getMemberValue(ClassValidator.java:536) 
    ... 102 more 
Caused by: java.lang.IllegalArgumentException: wrong number of arguments 
    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:597) 
    at org.hibernate.annotations.common.reflection.java.JavaXMethod.invoke(JavaXMethod.java:33) 
    ... 103 more 
16:31:05,192 SEVERE [lifecycle] JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /partner.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[[email protected]] 
+0

嗨。如果您提供完整的堆棧跟蹤,這將有所幫助。 – 2009-12-09 23:35:49

+0

嗨馬特。請查看帖子。我已經添加了堆棧跟蹤。 – emanemos 2009-12-10 13:46:31

回答

1

我認爲這個問題沒有得到答案,因爲它不是PostgreSQL的問題。

堆棧跟蹤的最後一個錯誤是「java.lang.IllegalArgumentException」。

我建議你用「java」標記標記它。

順便說一句 - 這應該工作時,你直接postgres(如與psql)。

select nextval ('people_id_seq') 
0

@NotNull - 把這個註釋了getBar(),而不是setBar()

emanemos