I have a similar problem. CRUD generation on my POJOs results in the same
error and stacktrace as yours. However, if I copy/paste my POJOs in a
project created from scratch, CRUD generation works fine!
NB: both projects went through appfuse:full-source and hibernate3:hbm2ddl
before running appfuse:gen.
Here's my POJO and stacktrace:
=========================
package fr.crb.gast.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity @Table(name="DCP_DELIBCP")
public class DelibCP extends BaseObject {
@Id @GeneratedValue @Column(name="DCP_IDENT")
private Long id;
@Column(name="DCP_DTDELIB", nullable=false)
private Date dateDelib;
@Column(name="DCP_NUMERODELIB", nullable=false, unique=true)
private Integer numeroDelib;
//START GETTERS AND SETTERS
public Date getDateDelib() {
return dateDelib;
}
public void setDateDelib(Date dateDelib) {
this.dateDelib = dateDelib;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getNumeroDelib() {
return numeroDelib;
}
public void setNumeroDelib(Integer numeroDelib) {
this.numeroDelib = numeroDelib;
}
//STOP GETTERS AND SETTERS
/* (non-Javadoc)
* @see fr.crb.gast.model.BaseObject#equals(java.lang.Object)
*/
@Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return false;
}
/* (non-Javadoc)
* @see fr.crb.gast.model.BaseObject#hashCode()
*/
@Override
public int hashCode() {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
* @see fr.crb.gast.model.BaseObject#toString()
*/
@Override
public String toString() {
// TODO Auto-generated method stub
return null;
}
}
===================================
ERROR [main] runtime.error(96) |
Method public java.lang.String
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(
org.hibernate.mapping.Property) threw an exception when
invoked on org.hibernate.tool.hbm2x.pojo.ComponentPOJOClass(
fr.crb.gast.model.DelibCP)
The problematic instruction:
----------
==> assignment: getIdMethodName=pojo.getGetterSignature(
pojo.identifierProperty) [on line 2, column 1 in appfuse/web/struts/action-
test.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.lang.String
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(org.hiberna
te.mapping.Property) threw an exception when invoked on
org.hibernate.tool.hbm2x.pojo.ComponentPOJOClass(fr.crb.gast.model.DelibCP)
at freemarker.ext.beans.SimpleMethodModel.exec(
SimpleMethodModel.java:136)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java
:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Assignment.accept(Assignment.java:90)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(
TemplateHelper.java:247)
at org.hibernate.tool.hbm2x.TemplateProducer.produceToString(
TemplateProducer.java:67)
at org.hibernate.tool.hbm2x.TemplateProducer.produce(
TemplateProducer.java:28)
at org.hibernate.tool.hbm2x.TemplateProducer.produce(
TemplateProducer.java:97)
at org.hibernate.tool.hbm2x.GenericExporter.exportPOJO(
GenericExporter.java:146)
at org.appfuse.tool.AppFuseExporter$1.exportPOJO(
AppFuseExporter.java:214)
at org.hibernate.tool.hbm2x.GenericExporter.exportComponent(
GenericExporter.java:131)
at org.hibernate.tool.hbm2x.GenericExporter$3.process(
GenericExporter.java:61)
at org.hibernate.tool.hbm2x.GenericExporter.doStart(
GenericExporter.java:126)
at org.hibernate.tool.hbm2x.AbstractExporter.start(
AbstractExporter.java:95)
at org.appfuse.tool.AppFuseExporter.generateWeb(AppFuseExporter.java
:151)
at org.appfuse.tool.AppFuseExporter.doStart(AppFuseExporter.java:50)
at org.hibernate.tool.hbm2x.AbstractExporter.start(
AbstractExporter.java:95)
at org.appfuse.mojo.HibernateExporterMojo.doExecute(
HibernateExporterMojo.java:228)
at org.appfuse.mojo.exporter.AppFuseGeneratorMojo.doExecute(
AppFuseGeneratorMojo.java:270)
at org.appfuse.mojo.HibernateExporterMojo.execute(
HibernateExporterMojo.java:138)
at org.appfuse.mojo.exporter.AppFuseGeneratorMojo.execute(
AppFuseGeneratorMojo.java:203)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
DefaultPluginManager.java:443)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(
DefaultLifecycleExecutor.java:493)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
DefaultLifecycleExecutor.java:463)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java
:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java
:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.NullPointerException
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getMetaAsString(
Cfg2JavaTool.java:78)
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(
Cfg2JavaTool.java:168)
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(
Cfg2JavaTool.java:164)
at org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(
BasicPOJOClass.java:549)
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 freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java
:583)
at freemarker.ext.beans.SimpleMethodModel.exec(
SimpleMethodModel.java:113)
... 43 more
[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Error while processing template appfuse/web/struts/action-test.ftl
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.hibernate.tool.hbm2x.ExporterException: Error while processing template
appfuse/web/struts/action-test.ftl
at org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(
TemplateHelper.java:253)
at org.hibernate.tool.hbm2x.TemplateProducer.produceToString(
TemplateProducer.java:67)
at org.hibernate.tool.hbm2x.TemplateProducer.produce(
TemplateProducer.java:28)
at org.hibernate.tool.hbm2x.TemplateProducer.produce(
TemplateProducer.java:97)
at org.hibernate.tool.hbm2x.GenericExporter.exportPOJO(
GenericExporter.java:146)
at org.appfuse.tool.AppFuseExporter$1.exportPOJO(
AppFuseExporter.java:214)
at org.hibernate.tool.hbm2x.GenericExporter.exportComponent(
GenericExporter.java:131)
at org.hibernate.tool.hbm2x.GenericExporter$3.process(
GenericExporter.java:61)
at org.hibernate.tool.hbm2x.GenericExporter.doStart(
GenericExporter.java:126)
at org.hibernate.tool.hbm2x.AbstractExporter.start(
AbstractExporter.java:95)
at org.appfuse.tool.AppFuseExporter.generateWeb(AppFuseExporter.java
:151)
at org.appfuse.tool.AppFuseExporter.doStart(AppFuseExporter.java:50)
at org.hibernate.tool.hbm2x.AbstractExporter.start(
AbstractExporter.java:95)
at org.appfuse.mojo.HibernateExporterMojo.doExecute(
HibernateExporterMojo.java:228)
at org.appfuse.mojo.exporter.AppFuseGeneratorMojo.doExecute(
AppFuseGeneratorMojo.java:270)
at org.appfuse.mojo.HibernateExporterMojo.execute(
HibernateExporterMojo.java:138)
at org.appfuse.mojo.exporter.AppFuseGeneratorMojo.execute(
AppFuseGeneratorMojo.java:203)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
DefaultPluginManager.java:443)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(
DefaultLifecycleExecutor.java:493)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
DefaultLifecycleExecutor.java:463)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java
:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java
:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: freemarker.template.TemplateModelException: Method public
java.lang.String
org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(
org.hibernate.mapping.Property) threw an exception when invoked on
org.hibernate.tool.hbm2x.pojo.ComponentPOJOClass(fr.crb.gast.model.DelibCP)
at freemarker.ext.beans.SimpleMethodModel.exec(
SimpleMethodModel.java:136)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java
:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Assignment.accept(Assignment.java:90)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(
TemplateHelper.java:247)
... 34 more
Caused by: java.lang.NullPointerException
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getMetaAsString(
Cfg2JavaTool.java:78)
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(
Cfg2JavaTool.java:168)
at org.hibernate.tool.hbm2x.Cfg2JavaTool.getJavaTypeName(
Cfg2JavaTool.java:164)
at org.hibernate.tool.hbm2x.pojo.BasicPOJOClass.getGetterSignature(
BasicPOJOClass.java:549)
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 freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java
:583)
at freemarker.ext.beans.SimpleMethodModel.exec(
SimpleMethodModel.java:113)
... 43 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 13 seconds
[INFO] Finished at: Fri Sep 14 12:17:55 CEST 2007
[INFO] Final Memory: 27M/254M
[INFO]
------------------------------------------------------------------------