Hi guys,
I hope someone can help me with that.
I use JBOSS 4.0.4GA.I have two Entities which have an
1:N RelationShip.
In my ejbPostCreate I set the CMR fields.
public void ejbPostCreate(Integer rank,
LocalAdMaterial adMaterial, LocalAdLoc adLoc, LocalAdActionType adActionType) throws CreateException {
setAdMaterial(adMaterial);
setAdActionType(adActionType);
setAdLoc(adLoc);
}
In the SQL-Logs I recognized
that before each set-method the container does a select on the table to which
the CMR-Field link to.
2006-08-16 17:21:45,081 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AdMaterial] Executing
SQL: SELECT ID, NAME, STATUS, ISO_CODE, DESCRIPTION, AD_FORMAT, AD_CAMPAIGN
FROM AD_MATERIAL WHERE (ID=?)
2006-08-16 17:21:45,097 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AdActionType] Executing
SQL: SELECT NAME FROM AD_ACTION_TYPE WHERE (ID=?)
2006-08-16 17:21:45,112 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.AdLoc] Executing SQL:
SELECT ID, ERLAUBT_TYP, AVG_TCP, AD_PARTNER, AD_CHANEL, AD_WEBSITE, AD_FORMAT
FROM AD_LOC WHERE (ID=?)
2006-08-16 17:21:45,128 DEBUG
[org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.AdActionTracking]
Executing SQL: UPDATE AD_ACTION_TRACKING SET AD_LOC=?, AD_MATERIAL=?,
AD_ACTION_TYPE=? WHERE ID=?
I do not know why these SELECT statements are
executed. Is this a normal behaviour?
Can please someone help me to avoid these useless
SQLs.
Thanks and regards,
Sebastian