Matt (or all other forks), I couldn't find this issue in APF/JIRA. :o Plz, could u point it to me or even a temporary solution for the isse (join / foreing key)??! Anyway, could u point me to a tut./quickGuide to fix up Foreing Annotations?!! In advance, thnx,
Ice-Man mraible wrote: > > On Thu, Nov 6, 2008 at 7:28 AM, mwaynewalter > <wayne.wal...@abc.virginia.gov> 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. > > Thanks for taking the time to figure this out. Can you please enter an > issue in JIRA so we can solve it for the next release? > > http://issues.appfuse.org/browse/APF > >> >> 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 gen-model plugin re-uses a lot of what the Hibernate3 Maven Plugin > does, but adds some AppFuse-specific tweaks. > > Matt > >> >> The appfuse:gen seems to work better. >> >> Wayne >> >> >> mraible wrote: >>> >>> On Wed, Nov 5, 2008 at 2:34 PM, mwaynewalter >>> <wayne.wal...@abc.virginia.gov> 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: users-unsubscr...@appfuse.dev.java.net >>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>> >>> >>> >> >> -- >> 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: users-unsubscr...@appfuse.dev.java.net >> For additional commands, e-mail: users-h...@appfuse.dev.java.net >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net > For additional commands, e-mail: users-h...@appfuse.dev.java.net > > > -- View this message in context: http://www.nabble.com/appfuse-2.0.2-gen-model-and-join-columns--tp20349030s2369p21925223.html Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net For additional commands, e-mail: users-h...@appfuse.dev.java.net