Discussion:
[Middlegen-user] many2many ejb3.0 java.lang.IllegalArgumentException : There is no column named
Martin Heinemann
2005-09-22 11:47:14 UTC
Permalink
Hi there,

i am going to write my diploma thesis about an application build with
ejb3.0

I am studying now for about 3 weeks on this topic. I built a simple
database and tried to generate the 2.1 bean classes using middlegen. I
had some problems with the version from the cvs (1.2.2), porting back to
1.2.1 fixed that.
But now i am trying to get the same database running with middlegen
1.2.2, directly from cvs, and got issues with many2many relations.
First my db:

+++++++++++++++++++++++++++++++++++++++++++++++++++
-- a little soup for all

CREATE TABLE Recipe (
Recipe_Id integer UNIQUE Not NULL,
Recipe_Author varchar(30),
Recipe_Name varchar(40),
Recipe_Price float,
CONSTRAINT PK_Recipe_Id PRIMARY KEY (Recipe_Id)
);


CREATE TABLE Cook (
Cook_Id integer UNIQUE Not NULL,
Cook_Name varchar(30),
Cook_Prename varchar(30),
Cook_Address varchar(50),
Cook_Zip varchar(10),
Cook_Town varchar(30),
Cook_Phone varchar(50),
CONSTRAINT PK_Cook_Id PRIMARY KEY (Cook_Id)
);

CREATE TABLE Common_Bean (
Common_Bean_Id integer UNIQUE Not NUll,
Common_Bean_Color varchar(10),
Common_Bean_Size integer,
Common_Bean_Type varchar(30),
CONSTRAINT PK_Common_Bean_Id PRIMARY KEY (Common_Bean_Id)
);

CREATE TABLE Bean_Soup (
Bean_Soup_Id integer UNIQUE Not NULL,
Bean_Soup_Name varchar(30),
Bean_Soup_CookingTime varchar(20),
Bean_Soup_Endurance integer,
Bean_Soup_Recipe_Id integer,
CONSTRAINT PK_Bean_Soup_Id PRIMARY KEY (Bean_Soup_Id),
CONSTRAINT FK_Bean_Soup_Recipe_id FOREIGN KEY (Bean_Soup_Recipe_Id)
REFERENCES Recipe (Recipe_Id)
);

CREATE TABLE Bean_2_Soup (
Bean_Soup_Id integer Not NULL,
Common_Bean_Id integer Not NULL,
CONSTRAINT PK_Bean_2_Soup PRIMARY KEY (Bean_Soup_Id,
Common_Bean_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Soups
FOREIGN KEY (Bean_Soup_Id) REFERENCES Bean_Soup (Bean_Soup_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Beans
FOREIGN KEY (Common_Bean_Id) REFERENCES Common_Bean
(Common_Bean_Id)
);

CREATE TABLE Cook_2_Soup (
Bean_Soup_Id integer Not NULL,
Cook_Id integer Not NULL,
CONSTRAINT PK_Cook_2_Soup PRIMARY KEY (Bean_Soup_Id, Cook_Id),
CONSTRAINT FK_Cook_2_Soup_List_Of_The_Soups
FOREIGN KEY (Bean_Soup_Id) REFERENCES Bean_Soup (Bean_Soup_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Cooks
FOREIGN KEY (Cook_Id) REFERENCES Cook (Cook_Id)
);

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

There are two tables for the many2many realtions. One Soup can have
several beans, and one soup can have quite a bunch of cooks, if this is
helpfull for the soup... =)

Now the ant script for building the classes:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


<!DOCTYPE project [
<!--<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
-->
<!ENTITY database SYSTEM "file:./config/database/postgresql.xml">

<!ENTITY ejb SYSTEM "file:./config/ejb/jboss.xml">
]>

<project name="BeanSoup EJB3.0" default="all" basedir=".">

<property file="${user.home}/build.properties"/>
<property file="${basedir}/build.properties"/>
<property name="middlegen.home"
value="${basedir}/.."/>
<property name="xdoclet.version" value="1.2"/>

<property name="name" value="beansoup.entity"/>
<property name="unique.name" value="${name}"/>
<property name="appxml.src.file"
value="${basedir}/src/application.xml"/>
<property name="lib.dir" value="${basedir}/lib"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="java.src.dir" value="${src.dir}/java"/>
<property name="web.src.dir" value="${src.dir}/web"/>

<property name="build.dir" value="${basedir}/build"/>
<property name="build.java.dir" value="${build.dir}/java"/>
<property name="build.gen-src.dir" value="${build.dir}/gen-src"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="persistencelayer.plugin" value="cmp30"/>

&database;
&ejb;

<property name="datasource.jndi.name"
value="${name}/datasource"/>

<path id="lib.class.path">
<pathelement path="${basedir}"/>
<pathelement path="${database.driver.classpath}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<!-- The middlegen jars -->
<fileset dir="${middlegen.home}">
<include name="*.jar"/>
</fileset>
</path>

<target name="init">
<available property="xdoclet1.2+"
classname="xdoclet.modules.ejb.EjbDocletTask"
classpathref="lib.class.path"/>
<available property="xdoclet-jars-installed"
file="lib/xdoclet-${xdoclet.version}.jar"/>
</target>

<!-- Run Middlegen
-->
<!--
=================================================================== -->
<target
name="middlegen"
description="Run Middlegen"
depends="init,fail-if-no-xdoclet-1.2"
unless="middlegen.skip"
<mkdir dir="${build.gen-src.dir}"/>

<taskdef
name="middlegen"
classname="middlegen.MiddlegenTask"
classpathref="lib.class.path"
/>

<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="${gui}"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${datasource.jndi.name}"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"
schema="${database.schema}"
catalog="${database.catalog}"
includeViews="false"
<!-- Tables for the Beansoup -->
<table generate="true" name="recipe"/>
<table generate="true" name="common_bean"/>
<table generate="true" name="bean_soup"/>
<table generate="true" name="cook"/>
<table generate="true" name="bean_2_soup"/>
<table generate="true" name="cook_2_soup"/>



<many2many>
<tableb generate="true" name="bean_soup"/>
<jointable name="bean_2_soup" generate="true"/>
<tablea generate="true" name="common_bean"/>
</many2many>

<many2many>
<tablea generate="true" name="bean_soup"/>
<jointable name="cook_2_soup" generate="true"/>
<tableb generate="true" name="cook"/>
</many2many>

<cmp30
destination="${build.gen-src.dir}"
package="${name}.ejb"
mergedir="${basedir}/src/middlegen"
</cmp30>
<!--
<cmp20
destination="${build.gen-src.dir}"
package="${name}.ejb"
interfacepackage="${name}.interfaces"
jndiprefix="${unique.name}"
pkclass="false"
dataobject="false"
valueobject="true"
sessionfacade="true"
viewtype="local"
mergedir="${basedir}/src/middlegen"
readonly="false"
fkcmp="true"
guid="true"
-->
</middlegen>
</target>


<!--
=================================================================== -->
<!-- Build everything
-->
<!--
=================================================================== -->
<target name="all" description="Build everything"
depends="clean,middlegen" />

<!--
=================================================================== -->
<!-- Clean everything
-->
<!--
=================================================================== -->
<target name="clean" description="Clean all generated stuff">
<delete dir="${build.dir}" />
</target>

<target name="ejb-jar" description="just to prevent error
message ;-)" />

</project>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I left some target in order to retain the clarity.
ant tells me about an error:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[middlegen] 2005-09-22 15:25:32,919 ERROR [middlegen.FileProducer]
Invocation of method 'getColumn' in class
middlegen.plugins.entitybean.CMP30Table threw exception class
java.lang.IllegalArgumentException : There is no column named
common_bean_id in the table named bean_soup
[middlegen] org.apache.velocity.exception.MethodInvocationException:
Invocation of method 'getColumn' in class
middlegen.plugins.entitybean.CMP30Table threw exception class
java.lang.IllegalArgumentException : There is no column named
common_bean_id in the table named bean_soup
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:291)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:218)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:350)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:84)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:216)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:216)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
[middlegen] at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
[middlegen] at
org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:358)
[middlegen] at middlegen.FileProducer.generate(FileProducer.java:328)
[middlegen] at
middlegen.FileProducer.generateForTable(FileProducer.java:246)
[middlegen] at middlegen.Plugin.doIt(Plugin.java:587)
[middlegen] at middlegen.Plugin.generate(Plugin.java:445)
[middlegen] at middlegen.Middlegen.writeSource(Middlegen.java:355)
[middlegen] at middlegen.swing.JMiddlegenFrame
$1.actionPerformed(JMiddlegenFrame.java:75)
[middlegen] at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
[middlegen] at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2169)
[middlegen] at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
[middlegen] at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
[middlegen] at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
[middlegen] at java.awt.Component.processMouseEvent(Component.java:5488)
[middlegen] at
javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
[middlegen] at java.awt.Component.processEvent(Component.java:5253)
[middlegen] at java.awt.Container.processEvent(Container.java:1966)
[middlegen] at java.awt.Component.dispatchEventImpl(Component.java:3955)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2024)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
[middlegen] at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
[middlegen] at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2010)
[middlegen] at java.awt.Window.dispatchEventImpl(Window.java:1774)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
[middlegen] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[middlegen] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[middlegen] at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[middlegen] middlegen.MiddlegenException: Invocation of method
'getColumn' in class middlegen.plugins.entitybean.CMP30Table threw
exception class java.lang.IllegalArgumentException : There is no column
named common_bean_id in the table named bean_soup
[middlegen] at middlegen.FileProducer.generate(FileProducer.java:342)
[middlegen] at
middlegen.FileProducer.generateForTable(FileProducer.java:246)
[middlegen] at middlegen.Plugin.doIt(Plugin.java:587)
[middlegen] at middlegen.Plugin.generate(Plugin.java:445)
[middlegen] at middlegen.Middlegen.writeSource(Middlegen.java:355)
[middlegen] at middlegen.swing.JMiddlegenFrame
$1.actionPerformed(JMiddlegenFrame.java:75)
[middlegen] at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
[middlegen] at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2169)
[middlegen] at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
[middlegen] at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
[middlegen] at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
[middlegen] at java.awt.Component.processMouseEvent(Component.java:5488)
[middlegen] at
javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
[middlegen] at java.awt.Component.processEvent(Component.java:5253)
[middlegen] at java.awt.Container.processEvent(Container.java:1966)
[middlegen] at java.awt.Component.dispatchEventImpl(Component.java:3955)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2024)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
[middlegen] at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
[middlegen] at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2010)
[middlegen] at java.awt.Window.dispatchEventImpl(Window.java:1774)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
[middlegen] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[middlegen] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[middlegen] at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
when i deactivate the <many2many> Elements, everything works, but the
many2many mapping in the class files are missing.
Whats wrong with it?

Thanks for your help

martin
e***@tihlde.org
2005-11-14 09:25:07 UTC
Permalink
Bit late perhaps, but this has been fixed now. There was a problem with
remarks on columns used in m2m relationships.

.e
Post by Martin Heinemann
Hi there,
i am going to write my diploma thesis about an application build with
ejb3.0
I am studying now for about 3 weeks on this topic. I built a simple
database and tried to generate the 2.1 bean classes using middlegen. I
had some problems with the version from the cvs (1.2.2), porting back to
1.2.1 fixed that.
But now i am trying to get the same database running with middlegen
1.2.2, directly from cvs, and got issues with many2many relations.
+++++++++++++++++++++++++++++++++++++++++++++++++++
-- a little soup for all
CREATE TABLE Recipe (
Recipe_Id integer UNIQUE Not NULL,
Recipe_Author varchar(30),
Recipe_Name varchar(40),
Recipe_Price float,
CONSTRAINT PK_Recipe_Id PRIMARY KEY (Recipe_Id)
);
CREATE TABLE Cook (
Cook_Id integer UNIQUE Not NULL,
Cook_Name varchar(30),
Cook_Prename varchar(30),
Cook_Address varchar(50),
Cook_Zip varchar(10),
Cook_Town varchar(30),
Cook_Phone varchar(50),
CONSTRAINT PK_Cook_Id PRIMARY KEY (Cook_Id)
);
CREATE TABLE Common_Bean (
Common_Bean_Id integer UNIQUE Not NUll,
Common_Bean_Color varchar(10),
Common_Bean_Size integer,
Common_Bean_Type varchar(30),
CONSTRAINT PK_Common_Bean_Id PRIMARY KEY (Common_Bean_Id)
);
CREATE TABLE Bean_Soup (
Bean_Soup_Id integer UNIQUE Not NULL,
Bean_Soup_Name varchar(30),
Bean_Soup_CookingTime varchar(20),
Bean_Soup_Endurance integer,
Bean_Soup_Recipe_Id integer,
CONSTRAINT PK_Bean_Soup_Id PRIMARY KEY (Bean_Soup_Id),
CONSTRAINT FK_Bean_Soup_Recipe_id FOREIGN KEY (Bean_Soup_Recipe_Id)
REFERENCES Recipe (Recipe_Id)
);
CREATE TABLE Bean_2_Soup (
Bean_Soup_Id integer Not NULL,
Common_Bean_Id integer Not NULL,
CONSTRAINT PK_Bean_2_Soup PRIMARY KEY (Bean_Soup_Id,
Common_Bean_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Soups
FOREIGN KEY (Bean_Soup_Id) REFERENCES Bean_Soup (Bean_Soup_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Beans
FOREIGN KEY (Common_Bean_Id) REFERENCES Common_Bean
(Common_Bean_Id)
);
CREATE TABLE Cook_2_Soup (
Bean_Soup_Id integer Not NULL,
Cook_Id integer Not NULL,
CONSTRAINT PK_Cook_2_Soup PRIMARY KEY (Bean_Soup_Id, Cook_Id),
CONSTRAINT FK_Cook_2_Soup_List_Of_The_Soups
FOREIGN KEY (Bean_Soup_Id) REFERENCES Bean_Soup (Bean_Soup_Id),
CONSTRAINT FK_Bean_2_Soup_List_Of_The_Cooks
FOREIGN KEY (Cook_Id) REFERENCES Cook (Cook_Id)
);
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
There are two tables for the many2many realtions. One Soup can have
several beans, and one soup can have quite a bunch of cooks, if this is
helpfull for the soup... =)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!DOCTYPE project [
<!--<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
-->
<!ENTITY database SYSTEM "file:./config/database/postgresql.xml">
<!ENTITY ejb SYSTEM "file:./config/ejb/jboss.xml">
]>
<project name="BeanSoup EJB3.0" default="all" basedir=".">
<property file="${user.home}/build.properties"/>
<property file="${basedir}/build.properties"/>
<property name="middlegen.home"
value="${basedir}/.."/>
<property name="xdoclet.version" value="1.2"/>
<property name="name" value="beansoup.entity"/>
<property name="unique.name" value="${name}"/>
<property name="appxml.src.file"
value="${basedir}/src/application.xml"/>
<property name="lib.dir" value="${basedir}/lib"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="java.src.dir" value="${src.dir}/java"/>
<property name="web.src.dir" value="${src.dir}/web"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="build.java.dir" value="${build.dir}/java"/>
<property name="build.gen-src.dir" value="${build.dir}/gen-src"/>
<property name="build.classes.dir" value="${build.dir}/classes"/>
<property name="persistencelayer.plugin" value="cmp30"/>
&database;
&ejb;
<property name="datasource.jndi.name"
value="${name}/datasource"/>
<path id="lib.class.path">
<pathelement path="${basedir}"/>
<pathelement path="${database.driver.classpath}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<!-- The middlegen jars -->
<fileset dir="${middlegen.home}">
<include name="*.jar"/>
</fileset>
</path>
<target name="init">
<available property="xdoclet1.2+"
classname="xdoclet.modules.ejb.EjbDocletTask"
classpathref="lib.class.path"/>
<available property="xdoclet-jars-installed"
file="lib/xdoclet-${xdoclet.version}.jar"/>
</target>
<!-- Run Middlegen
-->
<!--
=================================================================== -->
<target
name="middlegen"
description="Run Middlegen"
depends="init,fail-if-no-xdoclet-1.2"
unless="middlegen.skip"
<mkdir dir="${build.gen-src.dir}"/>
<taskdef
name="middlegen"
classname="middlegen.MiddlegenTask"
classpathref="lib.class.path"
/>
<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="${gui}"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${datasource.jndi.name}"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"
schema="${database.schema}"
catalog="${database.catalog}"
includeViews="false"
<!-- Tables for the Beansoup -->
<table generate="true" name="recipe"/>
<table generate="true" name="common_bean"/>
<table generate="true" name="bean_soup"/>
<table generate="true" name="cook"/>
<table generate="true" name="bean_2_soup"/>
<table generate="true" name="cook_2_soup"/>
<many2many>
<tableb generate="true" name="bean_soup"/>
<jointable name="bean_2_soup" generate="true"/>
<tablea generate="true" name="common_bean"/>
</many2many>
<many2many>
<tablea generate="true" name="bean_soup"/>
<jointable name="cook_2_soup" generate="true"/>
<tableb generate="true" name="cook"/>
</many2many>
<cmp30
destination="${build.gen-src.dir}"
package="${name}.ejb"
mergedir="${basedir}/src/middlegen"
</cmp30>
<!--
<cmp20
destination="${build.gen-src.dir}"
package="${name}.ejb"
interfacepackage="${name}.interfaces"
jndiprefix="${unique.name}"
pkclass="false"
dataobject="false"
valueobject="true"
sessionfacade="true"
viewtype="local"
mergedir="${basedir}/src/middlegen"
readonly="false"
fkcmp="true"
guid="true"
-->
</middlegen>
</target>
<!--
=================================================================== -->
<!-- Build everything
-->
<!--
=================================================================== -->
<target name="all" description="Build everything"
depends="clean,middlegen" />
<!--
=================================================================== -->
<!-- Clean everything
-->
<!--
=================================================================== -->
<target name="clean" description="Clean all generated stuff">
<delete dir="${build.dir}" />
</target>
<target name="ejb-jar" description="just to prevent error
message ;-)" />
</project>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I left some target in order to retain the clarity.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[middlegen] 2005-09-22 15:25:32,919 ERROR [middlegen.FileProducer]
Invocation of method 'getColumn' in class
middlegen.plugins.entitybean.CMP30Table threw exception class
java.lang.IllegalArgumentException : There is no column named
common_bean_id in the table named bean_soup
Invocation of method 'getColumn' in class
middlegen.plugins.entitybean.CMP30Table threw exception class
java.lang.IllegalArgumentException : There is no column named
common_bean_id in the table named bean_soup
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:291)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:218)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:350)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:84)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:107)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:216)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:109)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:94)
[middlegen] at
org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:216)
[middlegen] at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:153)
[middlegen] at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:271)
[middlegen] at
org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:358)
[middlegen] at middlegen.FileProducer.generate(FileProducer.java:328)
[middlegen] at
middlegen.FileProducer.generateForTable(FileProducer.java:246)
[middlegen] at middlegen.Plugin.doIt(Plugin.java:587)
[middlegen] at middlegen.Plugin.generate(Plugin.java:445)
[middlegen] at middlegen.Middlegen.writeSource(Middlegen.java:355)
[middlegen] at middlegen.swing.JMiddlegenFrame
$1.actionPerformed(JMiddlegenFrame.java:75)
[middlegen] at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
[middlegen] at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2169)
[middlegen] at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
[middlegen] at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
[middlegen] at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
[middlegen] at java.awt.Component.processMouseEvent(Component.java:5488)
[middlegen] at
javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
[middlegen] at java.awt.Component.processEvent(Component.java:5253)
[middlegen] at java.awt.Container.processEvent(Container.java:1966)
[middlegen] at java.awt.Component.dispatchEventImpl(Component.java:3955)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2024)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
[middlegen] at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
[middlegen] at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2010)
[middlegen] at java.awt.Window.dispatchEventImpl(Window.java:1774)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
[middlegen] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[middlegen] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[middlegen] at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[middlegen] middlegen.MiddlegenException: Invocation of method
'getColumn' in class middlegen.plugins.entitybean.CMP30Table threw
exception class java.lang.IllegalArgumentException : There is no column
named common_bean_id in the table named bean_soup
[middlegen] at middlegen.FileProducer.generate(FileProducer.java:342)
[middlegen] at
middlegen.FileProducer.generateForTable(FileProducer.java:246)
[middlegen] at middlegen.Plugin.doIt(Plugin.java:587)
[middlegen] at middlegen.Plugin.generate(Plugin.java:445)
[middlegen] at middlegen.Middlegen.writeSource(Middlegen.java:355)
[middlegen] at middlegen.swing.JMiddlegenFrame
$1.actionPerformed(JMiddlegenFrame.java:75)
[middlegen] at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
[middlegen] at javax.swing.AbstractButton
$Handler.actionPerformed(AbstractButton.java:2169)
[middlegen] at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
[middlegen] at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
[middlegen] at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
[middlegen] at java.awt.Component.processMouseEvent(Component.java:5488)
[middlegen] at
javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
[middlegen] at java.awt.Component.processEvent(Component.java:5253)
[middlegen] at java.awt.Container.processEvent(Container.java:1966)
[middlegen] at java.awt.Component.dispatchEventImpl(Component.java:3955)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2024)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
[middlegen] at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
[middlegen] at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
[middlegen] at java.awt.Container.dispatchEventImpl(Container.java:2010)
[middlegen] at java.awt.Window.dispatchEventImpl(Window.java:1774)
[middlegen] at java.awt.Component.dispatchEvent(Component.java:3803)
[middlegen] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
[middlegen] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[middlegen] at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[middlegen] at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[middlegen] at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
when i deactivate the <many2many> Elements, everything works, but the
many2many mapping in the class files are missing.
Whats wrong with it?
Thanks for your help
martin
-------------------------------------------------------
Tame your development challenges with Apache's Geronimo App Server.
Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
middlegen-user mailing list
https://lists.sourceforge.net/lists/listinfo/middlegen-user
Loading...