次のJPAスニペットを使用してPostgreSQLマネータイプをjava.util.Currencyタイプにマッピングする際に問題が発生しているようです。
@Basic(optional = true)
@Column(name = "cafl_bubgeted_amount")
private Currency bubgetedAmount;
列cafl_budgeted_amountは、PostgreSQLではmoneyタイプです。
コードがJBossAS7.1.1にデプロイされると、投稿の最後に示されているトレースが表示されます。誰かがそのマッピングを処理しましたか?
JBossAS7.1.3にデプロイされたときのトレース
原因:java.lang.IllegalArgumentException java.util.Currency.getInstance(Currency.java:303)[rt.jar:1.7.0_07]で java.util.Currency.getInstance(Currency.java:284)[rt.jar:1.7.0_07]で org.hibernate.type.descriptor.java.CurrencyTypeDescriptor.wrap(CurrencyTypeDescriptor.java:66)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.descriptor.java.CurrencyTypeDescriptor.wrap(CurrencyTypeDescriptor.java:35)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.descriptor.sql.VarcharTypeDescriptor $ 2.doExtract(VarcharTypeDescriptor.java:66)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:65)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:269)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:265)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:238)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:357)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2695)[hibernate-core-4.0.1.Final.jar:4.0.1.Final] org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1552)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1484)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.getRow(Loader.java:1384)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:640)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doQuery(Loader.java:856)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.loadEntity(Loader.java:2058)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3697)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:439)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:420)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:251)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:954)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:903)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:610)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.type.EntityType.resolve(EntityType.java:438)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:150)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1006)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doQuery(Loader.java:883)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doList(Loader.java:2463)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.doList(Loader.java:2449)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.Loader.list(Loader.java:2274)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.internal.SessionImpl.list(SessionImpl.java:1115)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)[hibernate-core-4.0.1.Final.jar:4.0.1.Final]で org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:252)[hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]で gr.neuropublic.gaia.cashflow.services.TransactionGroupService.copyTransactionGroups(TransactionGroupService.java:29)[cashflow-ejb.jar:] sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)[rt.jar:1.7.0_07] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[rt.jar:1.7.0_07]で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[rt.jar:1.7.0_07]で java.lang.reflect.Method.invoke(Method.java:601)[rt.jar:1.7.0_07]で org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory $ ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)[jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.as.ee.component.interceptors.UserInterceptorFactory $ 1.processInvocation(UserInterceptorFactory.java:36)[jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]で org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)[jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)[jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]で org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)[jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]で org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]で org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)[jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] ...54もっと