Matt,
Thanks but I found a fix. FYI, the error below says this is the offending
line.
${pojo.generateJoinColumnsAnnotation(property)} [on line 11, column 15 in
If works beautifully if you add a parameter to that method so it looks like
this in appfuse/model/Ejb3PropertyGetAnnotation.ftl:
${pojo.generateJoinColumnsAnnotation(property,cfg)}
In the newer version of hibernate tools, that method needs the configuration
as the second argument.
If you simply put ",cfg" there, it will fix it.
Wow. It took me about 4 hours to figure this out.
Please any advice? Do people really use this gen-model tool heavily? I see
a number of "to do" comments in the code. Is there a more powerful, better
recommended reverse engineering tool for JPA/ hibernate?
The appfuse:gen seems to work better.
Wayne
mraible wrote:
>
> On Wed, Nov 5, 2008 at 2:34 PM, mwaynewalter
> <[EMAIL PROTECTED]> wrote:
>>
>> With appfuse 2.0.2 for struts basic and hibernate, I get the error below
>> (with stack trace) when running appfuse:gen-model This is an Oracle 10g
>> database.
>>
>> appfuse:gen-model works like a charm on any individual table or tables
>> without inter-dependencies.
>>
>> But as soon as you include any two tables with a foreign key
>> relationship,
>> this error happens.
>
> We are aware of this issue and don't have a solution currently.
>
> Matt
>
>>
>> hibernate.reveng.xml is setup as recommended in JIRA and the Wiki for
>> Oracle
>> already.
>>
>> The Oracle foreign key relationship looks like this (an excerpt)...
>>
>> "INVESTIGATINGAGENT" NUMBER(8,0),
>> FOREIGN KEY ("INVESTIGATINGAGENT")
>> REFERENCES "COREDBA"."EMPLOYEE" ("EMPLOYEEID") ENABLE
>>
>> And the employeeid looks like this:
>>
>> "EMPLOYEEID" NUMBER(8,0) NOT NULL ENABLE,
>>
>> I scoured the internet in a vain attempt to find some guidance already
>> out
>> there.
>> Please help.
>>
>> 16:20:42,257 ERROR freemarker.runtime -
>> Method public java.lang.String
>> org.hibernate.tool.hbm2x.pojo.EntityPOJOClass.gen
>> erateJoinColumnsAnnotation(org.hibernate.mapping.Property,org.hibernate.cfg.Conf
>> iguration) threw an exception when invoked on
>> org.hibernate.tool.hbm2x.pojo.Enti
>> tyPOJOClass(gov.virginia.abc.model.License)
>> The problematic instruction:
>> ----------
>> in include "Ejb3PropertyGetAnnotation.ftl" [on line 1, column 1 in
>> appfuse/mode
>> l/GetPropertyAnnotation.ftl]
>> in include "GetPropertyAnnotation.ftl" [on line 9, column 5 in
>> appfuse/model/Po
>> joPropertyAccessors.ftl]
>> in include "PojoPropertyAccessors.ftl" [on line 9, column 1 in
>> appfuse/model/Po
>> jo.ftl]
>> ----------
>>
>> Java backtrace for programmers:
>> ----------
>> freemarker.template.TemplateModelException: Method public
>> java.lang.String
>> org.h
>> ibernate.tool.hbm2x.pojo.EntityPOJOClass.generateJoinColumnsAnnotation(org.hiber
>> nate.mapping.Property,org.hibernate.cfg.Configuration) threw an exception
>> when i
>> nvoked on
>> org.hibernate.tool.hbm2x.pojo.EntityPOJOClass(gov.virginia.abc.model.L
>> icense)
>> 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.Expression.getStringValue(Expression.java:93)
>> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
>> 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.IfBlock.accept(IfBlock.java:82)
>> 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.ConditionalBlock.accept(ConditionalBlock.java:79)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at freemarker.core.Environment.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at freemarker.core.Environment.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> 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.ConditionalBlock.accept(ConditionalBlock.java:79)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at
>> freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
>> at freemarker.core.Environment.visit(Environment.java:351)
>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
>> 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.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> 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.IfBlock.accept(IfBlock.java:82)
>> 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.visit(Environment.java:233)
>> at freemarker.core.BlockAssignment.accept(BlockAssignment.java:83)
>> 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:232)
>> at
>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:
>> 251)
>> at
>> org.hibernate.tool.hbm2x.TemplateProducer.produceToString(TemplateProducer.j
>> ava: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.hibernate.tool.hbm2x.GenericExporter.exportPersistentClass(GenericExport
>> er.java:135)
>> at
>> org.hibernate.tool.hbm2x.GenericExporter$2.process(GenericExporter.java:41)
>> at
>> org.hibernate.tool.hbm2x.GenericExporter.doStart(GenericExporter.java:126)
>> at
>> org.hibernate.tool.hbm2x.AbstractExporter.start(AbstractExporter.java:95)
>> at
>> org.appfuse.mojo.HibernateExporterMojo.doExecute(HibernateExporterMojo.java:
>> 228)
>> at
>> org.appfuse.mojo.exporter.ModelGeneratorMojo.execute(ModelGeneratorMojo.java
>> :183)
>> at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManage
>> r.java:579)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFail
>> ures(DefaultLifecycleExecutor.java:498)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForPro
>> ject(DefaultLifecycleExecutor.java:265)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(Defa
>> ultLifecycleExecutor.java:191)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycle
>> Executor.java:149)
>> at
>> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
>> at
>> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:3
>> 04)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.ja
>> va:904)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbe
>> dder.java:304)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)
>> 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:585)
>> at
>> freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
>> at
>> freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
>> ... 70 more
>> Exception in thread "main" org.hibernate.tool.hbm2x.ExporterException:
>> Error
>> whi
>> le processing template appfuse/model/Pojo.ftl
>> at
>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:
>> 257)
>> at
>> org.hibernate.tool.hbm2x.TemplateProducer.produceToString(TemplateProducer.j
>> ava: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.hibernate.tool.hbm2x.GenericExporter.exportPersistentClass(GenericExport
>> er.java:135)
>> at
>> org.hibernate.tool.hbm2x.GenericExporter$2.process(GenericExporter.java:41)
>> at
>> org.hibernate.tool.hbm2x.GenericExporter.doStart(GenericExporter.java:126)
>> at
>> org.hibernate.tool.hbm2x.AbstractExporter.start(AbstractExporter.java:95)
>> at
>> org.appfuse.mojo.HibernateExporterMojo.doExecute(HibernateExporterMojo.java:
>> 228)
>> at
>> org.appfuse.mojo.exporter.ModelGeneratorMojo.execute(ModelGeneratorMojo.java
>> :183)
>> at
>> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManage
>> r.java:579)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFail
>> ures(DefaultLifecycleExecutor.java:498)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForPro
>> ject(DefaultLifecycleExecutor.java:265)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(Defa
>> ultLifecycleExecutor.java:191)
>> at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycle
>> Executor.java:149)
>> at
>> org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
>> at
>> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:3
>> 04)
>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.ja
>> va:904)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbe
>> dder.java:304)
>> at
>> org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)
>> Caused by: freemarker.template.TemplateModelException: Method public
>> java.lang.S
>> tring
>> org.hibernate.tool.hbm2x.pojo.EntityPOJOClass.generateJoinColumnsAnnotatio
>> n(org.hibernate.mapping.Property,org.hibernate.cfg.Configuration) threw
>> an
>> excep
>> tion when invoked on
>> org.hibernate.tool.hbm2x.pojo.EntityPOJOClass(gov.virginia.
>> abc.model.License)
>> 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.Expression.getStringValue(Expression.java:93)
>> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
>> 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.IfBlock.accept(IfBlock.java:82)
>> 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.ConditionalBlock.accept(ConditionalBlock.java:79)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at freemarker.core.Environment.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at freemarker.core.Environment.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> 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.ConditionalBlock.accept(ConditionalBlock.java:79)
>> at freemarker.core.Environment.visit(Environment.java:196)
>> at
>> freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
>> at freemarker.core.Environment.visit(Environment.java:351)
>> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
>> 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.include(Environment.java:1375)
>> at freemarker.core.Include.accept(Include.java:155)
>> 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.IfBlock.accept(IfBlock.java:82)
>> 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.visit(Environment.java:233)
>> at freemarker.core.BlockAssignment.accept(BlockAssignment.java:83)
>> 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:232)
>> at
>> org.hibernate.tool.hbm2x.TemplateHelper.processTemplate(TemplateHelper.java:
>> 251)
>> ... 24 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:585)
>> at
>> freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
>> at
>> freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
>> ... 70 more
>> --
>> View this message in context:
>> http://www.nabble.com/appfuse-2.0.2-gen-model-and-join-columns--tp20349030s2369p20349030.html
>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/appfuse-2.0.2-gen-model-and-join-columns--tp20349030s2369p20362066.html
Sent from the AppFuse - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]