Hi wayne,
I'm just new in appfuse and had the same problem as yours. Where did you
find the Ejb3PropertyGetAnnotation.ftl?
Do I need to do an mvn appfuse:full-source?
Thanks!
Where did you edit the
mwaynewalter wrote:
>
> 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--tp20349030s2369p20615749.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]