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
Show replies by date