[jboss-user] [EJB3] - Embedded Many-to-one performance issue

csab79 do-not-reply at jboss.com
Fri Feb 4 16:15:51 EST 2011


csab79 [http://community.jboss.org/people/csab79] created the discussion

"Embedded Many-to-one performance issue"

To view the discussion, visit: http://community.jboss.org/message/585635#585635

--------------------------------------------------------------
Hi hibernate gurus! 

I have experienced the following issue:

I have a class with some properties and 5 many-to-one relationship.

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
" http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="hibernate.classes.Fszerzfej" table="FSZERZFEJ" catalog="dev1">

            <id name="ffId" type="int">
                <column name="FF_ID" />
                <generator class="identity"/>
            </id>

            <property name="ffSzerzszam" type="string">
                <column name="FF_SZERZSZAM" />
            </property>
            <property name="ffUgyfelkod" type="string">
                <column name="FF_UGYFELKOD" />
            </property>
            <property name="ffUgyfelnev" type="string">
                <column name="FF_UGYFELNEV" />
            </property>
            <property name="ffStIdRegio" type="int">
                <column name="ST_ID_REGIO" />
            </property>

            <property name="ffSzerztipus" type="int">
                <column name="FF_SZERZTIPUS" />
            </property>
            ...
            ...
            ...


          <many-to-one name="regio" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false">
                      <column name="ST_ID_REGIO" not-null="true" />
                  </many-to-one>


            <many-to-one name="sterulet" class="hibernate.classes.Sterulet" fetch="join" insert="false" update="false">
                      <column name="ST_ID_TELEPULES" not-null="true"/>
                  </many-to-one>

            <many-to-one name="szerzst" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false" >
                      <column name="FF_SZERZST" not-null="true" />
                  </many-to-one>


            <many-to-one name="ufkodtipus" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false" >
                      <column name="FF_UFKODTIPUS" not-null="true" />
                  </many-to-one>

            <many-to-one name="szerztip" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false">
                      <column name="FF_SZERZTIPUS" not-null="true" />
                  </many-to-one>


    </class>

</hibernate-mapping>


My another class is using fszerzfej class also with many-to-one ralationship:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
" http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="hibernate.classes.Fszerzpont" table="FSZERZPONT" catalog="dev1">
                  <id name="fpId" type="int" >
                                        <column name="FP_ID" />
                                        <generator class="identity" />
            </id>
            <property name="fpFfId" type="int">
                <column name="FP_FF_ID" />
            </property>
            <property name="fpPontnev" type="string">
                <column name="FP_PONTNEV" />
            </property>
            <property name="fpStRegio" type="int">
                <column name="FP_ST_REGIO" />
            </property>
            <property name="fpStTelepules" type="int">
                <column name="FP_ST_TELEPULES" />
            </property>
            <property name="fpIranyitoszam" type="string">
                <column name="FP_IRANYITOSZAM" />
            </property>
               ...
               ...


            <many-to-one name="regio" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false" >
                      <column name="FP_ST_REGIO" not-null="true" />
                  </many-to-one>


            <many-to-one name="sterulet" class="hibernate.classes.Sterulet" fetch="join" insert="false" update="false" >
                      <column name="FP_ST_TELEPULES" not-null="true" />
                  </many-to-one>

            <many-to-one name="szerzodesAllapot" class="hibernate.classes.Choicerows" fetch="join" insert="false" update="false">
                      <column name="FP_SZERZST" not-null="true" />
                  </many-to-one>


            <many-to-one name="tipus" class="hibernate.classes.GyujtopontTipusok" fetch="join" insert="false" update="false">
                      <column name="gyujtopont_tipus_id" not-null="true" />
                  </many-to-one>

            <many-to-one name="szerzodes" class="hibernate.classes.Fszerzfej" fetch="join" insert="false" update="false" >
                      <column name="FP_FF_ID"/>
                  </many-to-one>         


    </class>
</hibernate-mapping>



The impact is occuring when i am using fszerzpont class the fszerzfej many-to-one relationships fetching mode will be lazy=false. 
I dont understand this bahaviour, i am not using getters exampl from  fszerzfej.regio, fszerzfej.sterulet, fszerzfej.szerzst, fszerzfej.ufkodtipus, fszerzfej.szerztip 

I am using this relations only from fszerzfej, not from fszerzpont. 
I assume lazy fetching should doing this but i am surprised why not :S 

How could i tell Hibernate do not use load thoose many-to-one- relations into memory?
My other question is about lazy group fetching. I have read many article but i cant achive to work properly. 
Bulidtime ant instrumentation does not work for me :S  


I appreciate any help!
best regards!   
Csaba
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/585635#585635]

Start a new discussion in EJB3 at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2029]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110204/7ccabf39/attachment-0001.html 


More information about the jboss-user mailing list