Relationship (post-table-create)
dboeckli Oct 31, 2005 8:11 AMHi,
i have exactly the same problem described here:
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3837631#3837631
with the difference that i am using JBoss 4.02
the post create in the <relation-table-mapping> tag is ignored and replaced with the one defined in the bean itself which result in a SQL error: "Duplicate entry".
Listing of my
jbosscmp-jdbc.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">
<jbosscmp-jdbc>
<defaults>
<datasource>java:/TPFuserDS</datasource>
<datasource-mapping>mySQL</datasource-mapping>
<create-table>true</create-table>
<alter-table>false</alter-table>
<remove-table>false</remove-table>
<read-only>false</read-only>
<row-locking>false</row-locking>
<preferred-relation-mapping>foreign-key</preferred-relation-mapping>
<read-ahead>
<strategy>on-load</strategy>
<page-size>5</page-size>
<eager-load-group>*</eager-load-group>
</read-ahead>
<list-cache-max>5</list-cache-max>
<clean-read-ahead-on-load>true</clean-read-ahead-on-load>
<fetch-size>5</fetch-size>
</defaults>
<enterprise-beans>
<entity>
<ejb-name>TPFuser</ejb-name>
<post-table-create>
<sql-statement>INSERT INTO tpfuser (userid, password, firstname, lastname, contact) VALUES ('admin', 'admin', 'admin', 'admin', 'anybody@any.net')</sql-statement>
</post-table-create>
<table-name>tpfuser</table-name>
<cmp-field>
<field-name>userID</field-name>
<column-name>userid</column-name>
</cmp-field>
<cmp-field>
<field-name>password</field-name>
<column-name>password</column-name>
</cmp-field>
<cmp-field>
<field-name>firstname</field-name>
<column-name>firstname</column-name>
</cmp-field>
<cmp-field>
<field-name>lastname</field-name>
<column-name>lastname</column-name>
</cmp-field>
<cmp-field>
<field-name>contact</field-name>
<column-name>contact</column-name>
</cmp-field>
</entity>
<entity>
<ejb-name>Role</ejb-name>
<post-table-create>
<sql-statement>INSERT INTO role (role, comment) VALUES ('admin', 'Administrator')</sql-statement>
</post-table-create>
<table-name>role</table-name>
<cmp-field>
<field-name>role</field-name>
<column-name>role</column-name>
</cmp-field>
<cmp-field>
<field-name>comment</field-name>
<column-name>comment</column-name>
</cmp-field>
</entity>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>TPFusers-roles</ejb-relation-name>
<read-only>false</read-only>
<relation-table-mapping>
<table-name>users_roles</table-name>
<create-table>true</create-table>
<remove-table>false</remove-table>
<post-table-create>
<sql-statement>INSERT INTO users_roles (Role, TPFuser) VALUES ('admin', 'admin')</sql-statement>
</post-table-create>
<pk-constraint>true</pk-constraint>
</relation-table-mapping>
</ejb-relation>
</relationships>
</jbosscmp-jdbc>
many thanks for your help