Ye.... sorry
relation....
> raltation?
>
>
> On Tue, 11 Jan 2005 17:28:20 +0100, David Nielsen <[EMAIL PROTECTED]> wrote:
>> Hi again..
>>
>> Yes i see a very simple insert and update in the Developer Guide, but no
>> complex, like this one
>> se i have an Account class and multiple Group classes for this account.
>> and the account class has a property
>>
>> ArrayList groups
>> getter
>> setter
>>
>> and this property is mapped this way:
>>
>> <typeAlias alias="account" type="dk.graveyard.vod.ibatis.Account"/>
>> <typeAlias alias="group" type="dk.graveyard.vod.ibatis.Group"/>
>>
>> <resultMap id="accountResult" class="account">
>> <result property="id" column="ACCOUNT_ID"/>
>> <result property="name" column="ACCOUNT_NAME"/>
>> <result property="password" column="PASSWORD"/>
>> <result property="status" column="STATUS_NAME"/>
>> <result property="groups" column="ACCOUNT_ID"
>> select="getGroupsByAccountId"/>
>> </resultMap>
>>
>> <resultMap id="groupResult" class="group">
>> <result property="id" column="GROUP_ID"/>
>> <result property="name" column="GROUP_NAME"/>
>> </resultMap>
>>
>> i cant just figure out how to map this n:m relation, for the insert and
>> update
>>
>> 1 Account can have many Groups
>> 1 Group Can belong to many Accounts
>>
>> do i need to batch it
>> with something like:
>> updateAccount
>> deleteAccountGroupRealtion
>> insertNewAccountGroupRelation
>>
>> every time i change an Account ??
>>
>> or is there a more friendly way to do it ?
>>
>> i tried a insert mapping for the relation table but......
>>
>> <insert id="insertAccountGroupsByAccount" parameterClass="account">
>> <iterate property="groups">
>> INSERT INTO ACCOUNT_GROUP_REF
>> VALUES (
>> #id#, #groups[].id#
>> )
>> </iterate>
>> </insert>
>>
>> but i get an exception:
>>
>> 2281 [thread-pool-98] DEBUG jdbc.SimpleDataSource - Checked out
>> connection 19318506 from pool.
>> 2312 [thread-pool-98] DEBUG sql.Connection - {conn-100038} Connection
>> 2312 [thread-pool-98] DEBUG sql.PreparedStatement - {pstm-100039}
>> PreparedStatement: INSERT INTO ACCOUNT_GROUP_REF VALUES(
>> ?, ? ) ; INSERT INTO ACCOUNT_GROUP_REF VALUES( ?, ? )
>> 2312 [thread-pool-98] DEBUG sql.PreparedStatement - {pstm-100039}
>> Parameters: [1, 1, 1, 2]
>> 2312 [thread-pool-98] DEBUG sql.PreparedStatement - {pstm-100039}
>> Types: [java.lang.Integer, java.lang.Integer, java.lang.Integer,
>> java.lang.Integer]
>> 2312 [thread-pool-98] DEBUG jdbc.SimpleDataSource - Returned connection
>> 19318506 to pool.
>> com.ibatis.common.jdbc.exception.NestedSQLException:
>> --- The error occurred while applying a parameter map.
>> --- Check the insertAccountGroupsByAccount-InlineParameterMap.
>> --- Check the statement (update failed).
>> --- Cause: java.sql.SQLException: You have an error in your SQL syntax.
>> Check the manual that corresponds to your MySQL server version for the
>> right syntax to use near '; INSERT INTO
>> ACCOUNT_GROUP_REF VALUES(
>> Caused by: java.sql.SQLException: You have an error in your SQL syntax.
>> Check the manual that corresponds to your MySQL server version for the
>> right syntax to use near '; INSERT INTO
>> ACCOUNT_GROUP_REF VALUES(
>> at
>> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:86)
>> at
>> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:446)
>> at
>> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:87)
>> at
>> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:56)
>>
>> >Hi,
>> >
>> >
>> >
>> >
>> >I have 2 classes:
>> >
>> >Account
>> > private int id;
>> > private String username;
>> > private String password;
>> > private Collection groups;
>> >
>> >Group
>> > private int id;
>> > private String name;
>> >
>> >the db has 3 tables;
>> >
>> >ACCOUNT
>> >GROUP
>> >ACCOUNT_GROUP_REF
>> >
>> >where ACCOUNT_GROUP_REF is a join table for my relations,
>> >with 2 collumns:
>> >ACCOUNT_ID
>> >GROUP_ID
>> >
>> >Now my question is how do i keep my ACCOUNT_GROUP_REF updated,
>> >
>> >
>> >the Developer guide describes how to setup selects only,
>> >but what about insert and updates, of the relations ??
>> >
>> >
>> >Regards,
>> >David Nielsen
>>
>