[EJB 3.0] - org.hibernate.MappingException: could not instantiate id gen
by matt10
I have to access a legacy application. I have read-only access to it's database (Sybase ASE 12.5).
I want to access some of it's tables through Entity Beans in a transparent fashion from a session bean facade (Hibernate Shards style, where a lower ID range goes transparently to the legacy DB). I've created a secondary PersistenceUnit for the Sybase database.
There is currently one @Entity declared on this persistence unit. I don't use any generated values or sequences. The entities are mutable.
On deployment I get an exception and this persistence unit fails to initialize.
11:06:08,712 WARN [ServiceController] Problem starting service persistence.units:ear=Debtbase.ear,jar=DebtbaseEJB.jar,unitName=debtrecovery
| javax.persistence.PersistenceException: org.hibernate.MappingException: could not instantiate id generator
| Caused by: org.hibernate.MappingException: Dialect does not support sequences
|
Having looked at the JBoss EJB3 code following the stack trace, the SessionFactoryImpl constructor takes in a default ID generator setting from somewhere and creates and initializes a SequenceHiLoGenerator.
This generator fails with an exception on a database that does not support sequences.
I want to prevent the creation of this ID generator (or create another generator that does not rely on sequences).
I don't want or need an ID generator. The entities are mutable.
I can't find a configuration setting or fix that will do this. (I've tried the latest 5.0.0 Beta2 AS and explicitly specifying other (passive) types of ID generator on the @Entity bean, this hasn't worked).
Can anyone help please?
Full stack trace:
| javax.persistence.PersistenceException: org.hibernate.MappingException: could not instantiate id generator
| at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720)
| at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
| at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
| 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.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy56.start(Unknown Source)
| at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
| at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:627)
| at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:351)
| at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy32.start(Unknown Source)
| at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
| 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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
| at org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
| at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy33.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy4.start(Unknown Source)
| at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
| 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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy5.deploy(Unknown Source)
| at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
| at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| at org.jboss.Main.boot(Main.java:200)
| at org.jboss.Main$1.run(Main.java:508)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: org.hibernate.MappingException: could not instantiate id generator
| at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:98)
| at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:152)
| at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:192)
| at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
| at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)
| ... 145 more
| Caused by: org.hibernate.MappingException: Dialect does not support sequences
| at org.hibernate.dialect.Dialect.getSequenceNextValString(Dialect.java:596)
| at org.hibernate.id.SequenceGenerator.configure(SequenceGenerator.java:65)
| at org.hibernate.id.SequenceHiLoGenerator.configure(SequenceHiLoGenerator.java:43)
| at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:94)
| ... 149 more
|
|
As the database is Sybase and read-only, I have put the following in persistence.xml:
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="none"/>
| <property name="hibernate.dialect" value="org.hibernate.dialect.SybaseAnywhereDialect"/>
| </properties>
|
|
(I've also tried SybaseDialect instead, no difference.)
I appreciate any help anyone can offer as I have been stuck on this issue for 5 days now!
Regards
Matt
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4095551#4095551
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4095551
18Â years, 9Â months
[JBoss jBPM] - Still combox box
by lmichenaud
Hi,
I've read before the post about combo box but i still
don't understand why my solution doesnot work.
I have replaced :
<h:inputText value="#{var['type']}" required="true"/>
with :
<h:selectOneMenu required="true">
| <f:selectItem itemValue=""></f:selectItem>
| <f:selectItem itemValue="Type1"></f:selectItem>
| <f:selectItem itemValue="Type2"></f:selectItem>
| <f:selectItem itemValue="Type3"></f:selectItem>
| </h:selectOneMenu>
And i manage the selected value of the combo with some javascript :
<h:outputText>
for ( i = 0; i < document.forms[1].elements[2].options.length; i++ ) {
if ( document.forms[1].elements[2].options.value == '#{var['type']}' ) {
document.forms[1].elements[2].selectedIndex = i ;
}
}
</h:outputText>
When i submit the form with no value entered, i get the validation
error, so it's ok.
But when i submit the form with a selected item, i get this error :
The message is: missing task variables: type
So, i think my combo value is not well mapped with the
jbpm variable but i don't understand why.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4095545#4095545
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4095545
18Â years, 9Â months
[Persistence, JBoss/CMP, Hibernate, Database] - NPE:OneToOneSecondPass.java:135 - Consecutive One to one rel
by virtual82
Hi Guys, this is my environment:
java 1.6
jboss-version: 4.0.5.GA
Seam-Version: 1.2.1.GA
Hibernate-Version: 3.2.3.ga
I' m using annotation and javax.persistence.EntityManager.
the problem is in the mapping of the following schema (the relation are all one-to-one):
First <-(Fk to First)-Second <-(Fk to Second)-Third
.First has a pk generated by a sequence.
.Second and Third tables have pk=fk
this is my mapping:
=======================
public class EBFirst implements java.io.Serializable {
private EBSecond eBSecond;
@GenericGenerator(name="generator", strategy="myGenerator.TriggerGenerator")
@Id
@GeneratedValue(generator="generator")
@Column(name="PK_ID", unique=true, nullable=false, columnDefinition="NUMBER", precision=28, scale=0)
public BigDecimal getPkId() {
return this.pkId;
}
@OneToOne(mappedBy="EBFirst", cascade=CascadeType.ALL)
public EBSecond getEBSecond() {
return eBSecond;
}
.
.
.
}
------------
public class EBSecond implements java.io.Serializable {
private EBFirst EBFirst;
private EBThird eBThird;
@GenericGenerator(name="generator", strategy="foreign", parameters = {@Parameter(name = "property", value = "EBFirst")})
@GeneratedValue(generator="generator")
@Id
@Column(name="PK_ID", unique=true, nullable=false, columnDefinition="NUMBER", precision=28, scale=0)
public BigDecimal getPkId() {
return this.pkId;
}
@OneToOne
@PrimaryKeyJoinColumn
public EBFirst getEBFirst() {
return this.EBFirst;
}
@OneToOne (mappedBy="EBSecond", cascade=CascadeType.ALL)
public EBThird getEBThird() {
return eBThird;
}
.
.
.
}
-------------
public class EBThird implements java.io.Serializable {
@GenericGenerator(name="generator", strategy="foreign", parameters = {@Parameter(name = "property", value = "EBSecond")})
@GeneratedValue(generator="generator")
@Id
@Column(name="PK_ID", unique=true, nullable=false, columnDefinition="NUMBER", precision=28, scale=0)
public BigDecimal getPkId() {
return this.pkId;
}
@OneToOne
@PrimaryKeyJoinColumn
public EBSecond getEBSecond() {
return this.EBSecond;
}
.
.
.
}
=======================
this is the exception at startup:
[org.jboss.system.ServiceController] Problem starting service persistence.units:ear=cerssvd.ear,jar=cerssvd.ejb3.jar,unitName=entityManager
java.lang.NullPointerException
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1054)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:296)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1039)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1211)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:847)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:385)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:264)
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)
.
.
.
the problem is in the class EBSecond at the following:
@OneToOne (mappedBy="EBSecond", cascade=CascadeType.ALL)
he doesn't like the attribute mappedBy="EBSecond". But it's mandatory (in this context)
Can someone help me?
Thanks, Gianpaolo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4095544#4095544
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4095544
18Â years, 9Â months