In my perf testing, I have found that a call made to PortalObjectImpl.getChild results into connection to database.
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:9
0)
[JBoss] at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnection
Provider.java:69)
[JBoss] at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
[JBoss] at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
[JBoss] at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
[JBoss] at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
[JBoss] at org.hibernate.loader.Loader.doQuery(Loader.java:673)
[JBoss] at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
[JBoss] at org.hibernate.loader.Loader.loadEntity(Loader.java:1907)
[JBoss] at org.hibernate.loader.entity.CollectionElementLoader.loadElement(CollectionElementLoader.
java:72)
[JBoss] at org.hibernate.persister.collection.OneToManyPersister.getElementByIndex(OneToManyPersist
er.java:360)
[JBoss] at org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersist
entCollection.java:158)
[JBoss] at org.hibernate.collection.PersistentMap.get(PersistentMap.java:146)
[JBoss] at org.jboss.portal.core.impl.model.portal.PortalObjectImpl.getChild(PortalObjectImpl.java:
427)
[JBoss] at org.jboss.portal.core.model.portal.command.mapping.DefaultPortalObjectPathMapper$1.getCh
ild(DefaultPortalObjectPathMapper.java:91)
[JBoss] at org.jboss.portal.server.servlet.PathParser.map(PathParser.java:86
Looking at in in hibernate/portal/domin.hbm.xml, should not the following have cache usage attribute set? Or something similar?
<one-to-one
name="objectNode"
class="org.jboss.portal.core.impl.model.portal.ObjectNode"
cascade="none"
constrained="true"
fetch="select"/>