-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 
Author Message
 Post subject: Problem saving child list
PostPosted: Fri Aug 27, 2004 4:42 pm 
Newbie

Joined: Tue Nov 11, 2003 2:27 pm
Posts: 9
Ok, I've been at this one for a few days. It seems like it should be simple. I've read the documentation multiple times, to no avail and have tried many different combinations of setting and a few odd tricks I thought up.

The problem is that the 'opfacLinks' in scenario isn't being saved. I know isn't empty. I'm trying to set it up as unidirectional mapping. I've tried it as an array and a list too. I've tried field access and property; inverse true and false; cascade default, all, and all-delete-orphan (which produced the "No persister" exception discribed else where).

Any ideas what's wrong, or does Hibernate not do unidirectional mappings?

Hibernate version: 2.1.6 (upgraded from 2.1.3)

Mapping documents:
hibernate.cfg.xml
Code:
<hibernate-configuration>
   <!-- a SessionFactory instance listed as /jndi/name -->
   <session-factory>

      <!-- properties -->

      <property name="connection.datasource">ntira.jdbc.datasource.NTIRANetwars</property>
      <property name="dialect">net.sf.hibernate.dialect.SybaseDialect</property>
      <property name="show_sql">true</property>
      <property name="use_outer_join">true</property>
      <property name="transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
      <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.Provider</property>

      <!-- mapping files -->
      <mapping resource="com/scires/ntira/session/UserImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/SessionPageVisitImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/UserSessionImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/UserPreferencesImpl.hbm.xml"/>

      <!-- app files -->
      <mapping resource="com/scires/ntiranetwars/business/equipmentstrings/EquipString.hbm.xml"/>
      <mapping resource="com/scires/ntiranetwars/business/netwars/scenario/Opfac.hbm.xml"/>
      <mapping resource="com/scires/ntiranetwars/business/netwars/scenario/Scenario.hbm.xml"/>
   </session-factory>
</hibernate-configuration>

file:com/scires/ntiranetwars/business/netwars/scenario/Scenario.hbm.xml
Code:
<hibernate-mapping>
   <class name="com.scires.ntiranetwars.business.netwars.scenario.Scenario"
             table="ScenarioList" mutable="true">
      <id name="id" column="ID_Scenario" type="integer" unsaved-value="null" >
         <generator class="identity"/>
      </id>

      <property name="scenarioName" column="ScenarioName" type="string"/>

      <list name="opfacs" table="OpfacList" inverse="false" access="field" cascade="all">
         <key column="Scenario_ID"/>
         <index type="int" column="OpfacIndex"/>
         <one-to-many class="com.scires.ntiranetwars.business.netwars.scenario.Opfac" />
      </list>

      <map name="opfacLinks" table="PtpLinkList" access="field" cascade="all">
         <key column="Scenario_ID"/>
         <index type="integer" column="PtpLinkOpfacIndex"/>

         <composite-element class="com.scires.ntiranetwars.business.netwars.scenario.PtpLink">
            <property name="opfacA" column="PtpLinkOpfacA" type="int" access="field"/>
            <property name="opfacB" column="PtpLinkOpfacB" type="int" access="field"/>
            <property name="esA" column="PtpLinkEquipStringA" type="int" access="field"/>
            <property name="esB" column="PtpLinkEquipStringB" type="int" access="field"/>
            <property name="deviceA" column="PtpLinkDeviceA" type="int" access="field"/>
            <property name="deviceB" column="PtpLinkDeviceB" type="int" access="field"/>
            <property name="model" column="PtpLinkModel" type="string" access="field"/>
         </composite-element>
      </map>
   </class>
</hibernate-mapping>

Code between sessionFactory.openSession() and session.close():
Code:
Session sess = null;

try {
   sess = getSession();
   sess.saveOrUpdate(bean);
} catch(HibernateException e) {
   throw handleStoreException(sess, e, "Error saving/updating data", bean);
} finally {
   if(null != sess) { closeSession(sess); }
}



protected Session getSession() throws BusinessDataAccessException {
   try {
      return this.sessionFactory.openSession();
   } catch(HibernateException e) {
      LOGGER.error("Exception Opening session", e);
      throw new BusinessConnectionException("Exception opening session");
   }
}

protected void closeSession(Session sess) throws BusinessDataAccessException {
   try {
      if(null != sess && sess.isOpen()) { sess.close(); }
   } catch(HibernateException e) {
      LOGGER.error("Error closing session after error", e);
      throw new BusinessConnectionException("Exception closing session", e);
   }
}

Name and version of the database you are using:
SQL Server 2000
Debug level Hibernate log excerpt:
Init
[15:23:05,578 INFO Environment ] Hibernate 2.1.6
[15:23:05,578 INFO Environment ] hibernate.properties not found
[15:23:05,578 INFO Environment ] using CGLIB reflection optimizer
[15:23:05,593 INFO Configuration ] configuring from url: file:C:/bea/user_projects/domains/NTIRADomain/NTIRAServer/stage/_appsdir_net_war/net.w
ar/WEB-INF/hibernate.cfg.xml
[15:23:05,703 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... on-2.0.dtd in classpath under net/sf/
hibernate/
[15:23:05,703 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... on-2.0.dtd in classpath
[15:23:05,781 DEBUG Configuration ] connection.datasource=ntira.jdbc.datasource.NTIRANetwars
[15:23:05,781 DEBUG Configuration ] dialect=net.sf.hibernate.dialect.SybaseDialect
[15:23:05,781 DEBUG Configuration ] show_sql=true
[15:23:05,781 DEBUG Configuration ] use_outer_join=true
[15:23:05,781 DEBUG Configuration ] transaction.factory_class=net.sf.hibernate.transaction.JDBCTransactionFactory
[15:23:05,781 DEBUG Configuration ] hibernate.cache.provider_class=net.sf.ehcache.hibernate.Provider
[15:23:05,796 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@21bcd5 [Attribute: name resource value "com/scires/ntira/session/UserI
mpl.hbm.xml"]
[15:23:05,796 INFO Configuration ] Mapping resource: com/scires/ntira/session/UserImpl.hbm.xml
[15:23:05,796 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:05,812 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:05,859 INFO Binder ] Mapping class: com.scires.ntira.session.UserImpl -> NTIRA_APPLICATION..UserList
[15:23:06,015 DEBUG Binder ] Mapped property: id -> ID_User, type: integer
[15:23:06,046 DEBUG Binder ] Mapped property: name -> UserName, type: string
[15:23:06,046 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@125554 [Attribute: name resource value "com/scires/ntira/session/Sessi
onPageVisitImpl.hbm.xml"]
[15:23:06,046 INFO Configuration ] Mapping resource: com/scires/ntira/session/SessionPageVisitImpl.hbm.xml
[15:23:06,046 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,062 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,078 INFO Binder ] Mapping class: com.scires.ntira.session.SessionPageVisitImpl -> SessionHistory
[15:23:06,078 DEBUG Binder ] Mapped property: id -> ID_SessionHistory, type: integer
[15:23:06,078 DEBUG Binder ] Mapped property: queryString -> QueryString, type: string
[15:23:06,078 DEBUG Binder ] Mapped property: actionName -> ActionName, type: string
[15:23:06,078 DEBUG Binder ] Mapped property: time -> SessionVisitTime, type: timestamp
[15:23:06,109 DEBUG Binder ] Mapped property: userSession -> Session_ID, type: com.scires.ntira.session.UserSessionDataImpl
[15:23:06,109 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@f989fa [Attribute: name resource value "com/scires/ntira/session/UserS
essionImpl.hbm.xml"]
[15:23:06,109 INFO Configuration ] Mapping resource: com/scires/ntira/session/UserSessionImpl.hbm.xml
[15:23:06,109 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,125 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,125 INFO Binder ] Mapping class: com.scires.ntira.session.UserSessionDataImpl -> UserSessionList
[15:23:06,125 DEBUG Binder ] Mapped property: id -> Session_ID, type: integer
[15:23:06,125 DEBUG Binder ] Mapped property: user -> SessionUser_ID, type: com.scires.ntira.session.UserImpl
[15:23:06,140 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@1de0a45 [Attribute: name resource value "com/scires/ntira/session/User
PreferencesImpl.hbm.xml"]
[15:23:06,140 INFO Configuration ] Mapping resource: com/scires/ntira/session/UserPreferencesImpl.hbm.xml
[15:23:06,140 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,140 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,187 INFO Binder ] Mapping class: com.scires.ntira.session.UserPreferencesImpl -> NTIRA_APPLICATION..UserPreferences
[15:23:06,187 DEBUG Binder ] Mapped property: id -> ID_UserPreference, type: integer
[15:23:06,187 DEBUG Binder ] Mapped property: decimalPlaces -> NumDecPlaces, type: integer
[15:23:06,187 DEBUG Binder ] Mapped property: resolution -> Resolution, type: integer
[15:23:06,187 DEBUG Binder ] Mapped property: clientAlias -> AliasAfloatClient, type: string
[15:23:06,187 DEBUG Binder ] Mapped property: productAlias -> AliasAfloatProduct, type: string
[15:23:06,187 DEBUG Binder ] Mapped property: user -> PreferenceUser_ID, type: com.scires.ntira.session.UserImpl
[15:23:06,203 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@8b873e [Attribute: name resource value "com/scires/ntiranetwars/busine
ss/equipmentstrings/EquipString.hbm.xml"]
[15:23:06,203 INFO Configuration ] Mapping resource: com/scires/ntiranetwars/business/equipmentstrings/EquipString.hbm.xml
[15:23:06,203 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,203 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,218 INFO Binder ] Mapping class: com.scires.ntiranetwars.business.equipmentstrings.EquipString -> OpfacEquipStringList
[15:23:06,218 DEBUG Binder ] Mapped property: id -> ID_OpfacEquipString, type: integer
[15:23:06,234 DEBUG Binder ] Mapped property: parent -> Opfac_ID, type: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:23:06,234 DEBUG Binder ] Mapped property: index -> OpfacEquipStringIndex, type: integer
[15:23:06,250 DEBUG Binder ] Mapped property: esId -> ES_ID, type: string
[15:23:06,250 DEBUG Binder ] Mapped property: mode -> OpfacEquipStringMode, type: string
[15:23:06,250 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries -> EquipStringSyst
emList
[15:23:06,281 DEBUG Binder ] Mapped property: entries, type: [Lcom.scires.ntiranetwars.business.equipmentstrings.EquipString$SystemEntry;

[15:23:06,281 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@15d0009 [Attribute: name resource value "com/scires/ntiranetwars/busin
ess/netwars/scenario/Opfac.hbm.xml"]
[15:23:06,281 INFO Configuration ] Mapping resource: com/scires/ntiranetwars/business/netwars/scenario/Opfac.hbm.xml
[15:23:06,281 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,296 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,296 INFO Binder ] Mapping class: com.scires.ntiranetwars.business.netwars.scenario.Opfac -> OpfacList
[15:23:06,312 DEBUG Binder ] Mapped property: id -> ID_Opfac, type: integer
[15:23:06,312 DEBUG Binder ] Mapped property: parent -> Scenario_ID, type: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:23:06,312 DEBUG Binder ] Mapped property: index -> OpfacIndex, type: integer
[15:23:06,328 DEBUG Binder ] Mapped property: equipmentType -> OpfacType, type: com.scires.ntiranetwars.business.netwars.scenario.Equipme
ntType
[15:23:06,328 DEBUG Binder ] Mapped property: name -> OpfacName, type: string
[15:23:06,328 DEBUG Binder ] Mapped property: cost -> OpfacCost, type: string
[15:23:06,328 DEBUG Binder ] Mapped property: service -> OpfacService, type: string
[15:23:06,328 DEBUG Binder ] Mapped property: task -> OpfacTask, type: string
[15:23:06,343 DEBUG Binder ] Mapped property: iconName -> OpfacIconName, type: string
[15:23:06,343 DEBUG Binder ] Mapped property: latitude -> OpfacLatitude, type: float
[15:23:06,343 DEBUG Binder ] Mapped property: longitude -> OpfacLongitude, type: float
[15:23:06,359 DEBUG Binder ] Mapped property: elevationCode -> OpfacElevationCode, type: string
[15:23:06,359 DEBUG Binder ] Mapped property: elevation -> OpfacElevation, type: float
[15:23:06,656 DEBUG Binder ] Mapped property: location -> OpfacLatitude, OpfacLongitude, OpfacElevationCode, OpfacElevation, type: com.sc
ires.ntiranetwars.business.netwars.scenario.Location
[15:23:06,671 DEBUG Binder ] Mapped property: equipStrings, type: java.util.List
[15:23:06,671 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap -> IntraOpfacLinkL
ist
[15:23:06,687 DEBUG Binder ] Mapped property: deviceLinkMap, type: java.util.Map
[15:23:06,703 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks -> InterEquipStringLinkL
ist
[15:23:06,703 DEBUG Binder ] Mapped property: esLinks, type: java.util.List
[15:23:06,703 DEBUG Configuration ] null<-org.dom4j.tree.DefaultAttribute@c38ceb [Attribute: name resource value "com/scires/ntiranetwars/busine
ss/netwars/scenario/Scenario.hbm.xml"]
[15:23:06,703 INFO Configuration ] Mapping resource: com/scires/ntiranetwars/business/netwars/scenario/Scenario.hbm.xml
[15:23:06,718 DEBUG DTDEntityResolver ] trying to locate http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath under net/sf/hibern
ate/
[15:23:06,718 DEBUG DTDEntityResolver ] found http://hibernate.sourceforge.net/hibern ... ng-2.0.dtd in classpath
[15:23:06,734 INFO Binder ] Mapping class: com.scires.ntiranetwars.business.netwars.scenario.Scenario -> ScenarioList
[15:23:06,734 DEBUG Binder ] Mapped property: id -> ID_Scenario, type: integer
[15:23:06,734 DEBUG Binder ] Mapped property: scenarioName -> ScenarioName, type: string
[15:23:06,734 DEBUG Binder ] Mapped property: opfacs, type: java.util.List
[15:23:06,734 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacLinksMap -> PtpLinkList
[15:23:06,734 DEBUG Binder ] Mapped property: opfacLinksMap, type: java.util.Map
[15:23:06,750 INFO Configuration ] Configured SessionFactory: null
[15:23:06,750 DEBUG Configuration ] properties: {show_sql=true, java.vendor=Sun Microsystems Inc., javax.xml.rpc.encodingstyle.namespace.uri=UTF
-8, org.xml.sax.parser=weblogic.xml.jaxp.RegistryParser, weblogic.webservice.forceXMLEncoding=true, connection.datasource=ntira.jdbc.datasource.NTIRAN
etwars, os.name=Windows XP, sun.boot.class.path=C:\bea\JDK141~2\jre\lib\rt.jar;C:\bea\JDK141~2\jre\lib\i18n.jar;C:\bea\JDK141~2\jre\lib\sunrsasign.jar
;C:\bea\JDK141~2\jre\lib\jsse.jar;C:\bea\JDK141~2\jre\lib\jce.jar;C:\bea\JDK141~2\jre\lib\charsets.jar;C:\bea\JDK141~2\jre\classes, sun.java2d.fontpat
h=, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.4.1_05-b01, weblogic.webservice.i18n.charset=UTF-8, weblogic.Name=NTIRA
Server, jmx.implementation.vendor=Sun Microsystems, hibernate.cache.provider_class=net.sf.ehcache.hibernate.Provider, user.name=blundys, jmx.implement
ation.name=JMX RI, user.language=en, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory, sun.boot.library.path=C:\bea\JDK141~2\jre\bin,
dialect=net.sf.hibernate.dialect.SybaseDialect, jmx.specification.name=Java Management Extensions, java.version=1.4.1_05, version=2.2.D11, user.timez
one=America/New_York, sun.arch.data.model=32, hibernate.use_outer_join=true, javax.rmi.CORBA.UtilClass=weblogic.iiop.UtilDelegateImpl, jmx.specificati
on.version=1.0 Final Release, java.endorsed.dirs=C:\bea\JDK141~2\jre\lib\endorsed, vde.home=.\NTIRAServer\ldap, sun.cpu.isalist=pentium i486 i386, jmx
.implementation.version=1.0, file.encoding.pkg=sun.io, weblogic.mbeanLegalClause.ByPass=false, file.separator=\, java.specification.name=Java Platform
API Specification, org.uddi4j.logEnabled=true, hibernate.cglib.use_reflection_optimizer=true, java.class.version=48.0, user.country=US, java.home=C:\
bea\JDK141~2\jre, java.vm.info=mixed mode, os.version=5.1, transaction.factory_class=net.sf.hibernate.transaction.JDBCTransactionFactory, hibernate.tr
ansaction.factory_class=net.sf.hibernate.transaction.JDBCTransactionFactory, hibernate.connection.datasource=ntira.jdbc.datasource.NTIRANetwars, org.o
mg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB, path.separator=;, java.vm.version=1.4.1_05-b01, java.util.prefs.PreferencesFactory=java.util.prefs.
WindowsPreferencesFactory, user.variant=, vendor-url=http://xml.apache.org/xalan-j, java.protocol.handler.pkgs=weblogic.utils|weblogic.utils|weblogic.
net|org.apache.axis.transport|, jmx.specification.vendor=Sun Microsystems, java.awt.printerjob=sun.awt.windows.WPrinterJob, vendor=Apache Software Fou
ndation, java.security.policy=C:\bea\WEBLOG~2\server\lib\weblogic.policy, sun.io.unicode.encoding=UnicodeLittle, awt.toolkit=sun.awt.windows.WToolkit,
java.naming.factory.url.pkgs=weblogic.jndi.factories:weblogic.corba.j2ee.naming.url, user.home=C:\Documents and Settings\blundys, java.specification.
vendor=Sun Microsystems Inc., org.xml.sax.driver=weblogic.apache.xerces.parsers.SAXParser, java.library.path=C:\bea\JDK141~2\bin;.;C:\WINDOWS\System32
;C:\WINDOWS;C:\bea\WEBLOG~2\server\bin;C:\bea\JDK141~2\jre\bin;C:\bea\JDK141~2\bin;C:\Program Files\ActivCard\ActivCard Gold\resources;C:\WINDOWS\syst
em32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\oracle\ora90\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\Program Files\jikes-1.18\bin;C:\Program Files\Mi
crosoft SQL Server\80\Tools\BINN;C:\java\apache-ant-1.5.4\bin\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\bea\WEBLOG~2\server\bin\oci920_
8, java.vendor.url=http://java.sun.com/, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=net.sf.hibernate.dialect.SybaseDialect, java.runtime.
name=Java(TM) 2 Runtime Environment, Standard Edition, java.class.path=C:\bea\JDK141~2\lib\tools.jar;C:\bea\WEBLOG~2\server\lib\weblogic_sp.jar;C:\bea
\WEBLOG~2\server\lib\weblogic.jar;C:\bea\WEBLOG~2\server\lib\ojdbc14.jar;C:\bea\WEBLOG~2\common\eval\pointbase\lib\pbserver44.jar;C:\bea\WEBLOG~2\comm
on\eval\pointbase\lib\pbclient44.jar;C:\bea\JDK141~2\jre\lib\rt.jar;C:\bea\WEBLOG~2\server\lib\webservices.jar;C:\bea\WEBLOG~2\server\lib\Opta2000.jar
;C:\Libraries\commons-collections-3.0\commons-collections-3.0.jar, use_outer_join=true, java.vm.specification.name=Java Virtual Machine Specification,
java.vm.specification.version=1.0, javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDelegateImpl, sun.cpu.endian=little, s
un.os.patch.level=Service Pack 1, java.io.tmpdir=C:\DOCUME~1\blundys\LOCALS~1\Temp\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, or
g.uddi4j.logFileName=uddi.log, os.arch=x86, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.ext.dirs=C:\bea\JDK141~2\jre\lib\ext, user.dir
=C:\bea\user_projects\domains\NTIRADomain, line.separator=
, java.vm.name=Java HotSpot(TM) Client VM, javax.xml.soap.MessageFactory=weblogic.webservice.core.soap.MessageFactoryImpl, org.omg.CORBA.ORBClass=webl
ogic.corba.orb.ORB, file.encoding=Cp1252, javax.xml.rpc.ServiceFactory=weblogic.webservice.core.rpc.ServiceFactoryImpl, weblogic.ProductionModeEnabled
=, java.specification.version=1.4, hibernate.show_sql=true}
[15:23:06,750 INFO Configuration ] processing one-to-many association mappings
[15:23:06,765 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:23:06,765 DEBUG Binder ] Mapped property: name -> EquipStringSystemName, type: string
[15:23:06,765 DEBUG Binder ] Mapped property: type -> EquipStringSystemType, type: string
[15:23:06,765 DEBUG Binder$SecondPass ] Mapped collection key: id, index: EquipStringSystemIndex, element: EquipStringSystemName, EquipStringSystemT
ype, type: com.scires.ntiranetwars.business.equipmentstrings.EquipString$SystemEntry
[15:23:06,765 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:23:06,781 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings -> OpfacEquipString
List
[15:23:06,781 DEBUG Binder$SecondPass ] Mapped collection key: id, index: OpfacEquipStringIndex, one-to-many: com.scires.ntiranetwars.business.equip
mentstrings.EquipString
[15:23:06,781 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:23:06,781 DEBUG Binder ] Mapped property: deviceA -> IntraOpfacLinkDeviceA, type: integer
[15:23:06,781 DEBUG Binder ] Mapped property: deviceB -> IntraOpfacLinkDeviceB, type: integer
[15:23:06,781 DEBUG Binder ] Mapped property: type -> IntraOpfacLinkType, type: string
[15:23:06,781 DEBUG Binder ] Mapped property: dataRate -> IntraOpfacLinkDataRate, type: string
[15:23:06,796 DEBUG Binder ] Mapped property: startString -> IntraOpfacLinkStartString, type: integer
[15:23:06,796 DEBUG Binder ] Mapped property: device -> IntraOpfacLinkStartDevice, type: integer
[15:23:06,812 DEBUG Binder$SecondPass ] Mapped collection key: id, index: IntraOpfacLinkStartString, IntraOpfacLinkStartDevice, element: IntraOpfacL
inkDeviceA, IntraOpfacLinkDeviceB, IntraOpfacLinkType, IntraOpfacLinkDataRate, type: com.scires.ntiranetwars.business.netwars.scenario.IntraOpfacLink
[15:23:06,812 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:23:06,812 DEBUG Binder ] Mapped property: deviceA -> IntraOpfacLinkDeviceA, type: integer
[15:23:06,812 DEBUG Binder ] Mapped property: deviceB -> IntraOpfacLinkDeviceB, type: integer
[15:23:06,812 DEBUG Binder ] Mapped property: type -> IntraOpfacLinkType, type: string
[15:23:06,812 DEBUG Binder ] Mapped property: dataRate -> IntraOpfacLinkDataRate, type: string
[15:23:06,828 DEBUG Binder$SecondPass ] Mapped collection key: id, index: IntraOpfacLinkStartString, element: IntraOpfacLinkDeviceA, IntraOpfacLinkD
eviceB, IntraOpfacLinkType, IntraOpfacLinkDataRate, type: com.scires.ntiranetwars.business.netwars.scenario.IntraOpfacLink
[15:23:06,828 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacs
[15:23:06,828 INFO Binder ] Mapping collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacs -> OpfacList
[15:23:06,828 DEBUG Binder$SecondPass ] Mapped collection key: Scenario_ID, index: OpfacIndex, one-to-many: com.scires.ntiranetwars.business.netwars
.scenario.Opfac
[15:23:06,828 DEBUG Binder$SecondPass ] Second pass for collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacLinksMap
[15:23:06,828 DEBUG Binder ] Mapped property: opfacA -> PtpLinkOpfacA, type: integer
[15:23:06,828 DEBUG Binder ] Mapped property: opfacB -> PtpLinkOpfacB, type: integer
[15:23:06,828 DEBUG Binder ] Mapped property: esA -> PtpLinkEquipStringA, type: integer
[15:23:06,828 DEBUG Binder ] Mapped property: esB -> PtpLinkEquipStringB, type: integer
[15:23:06,828 DEBUG Binder ] Mapped property: deviceA -> PtpLinkDeviceA, type: integer
[15:23:06,843 DEBUG Binder ] Mapped property: deviceB -> PtpLinkDeviceB, type: integer
[15:23:06,843 DEBUG Binder ] Mapped property: model -> PtpLinkModel, type: string
[15:23:06,843 DEBUG Binder$SecondPass ] Mapped collection key: Scenario_ID, index: PtpLinkOpfacIndex, element: PtpLinkOpfacA, PtpLinkOpfacB, PtpLink
EquipStringA, PtpLinkEquipStringB, PtpLinkDeviceA, PtpLinkDeviceB, PtpLinkModel, type: com.scires.ntiranetwars.business.netwars.scenario.PtpLink
[15:23:06,859 INFO Configuration ] processing one-to-one association property references
[15:23:06,859 INFO Configuration ] processing foreign key constraints
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntira.session.UserImpl
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntira.session.UserImpl
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntira.session.UserSessionDataImpl
[15:23:06,859 DEBUG Configuration ] resolving reference to class: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:23:06,906 INFO Dialect ] Using dialect: net.sf.hibernate.dialect.SybaseDialect
[15:23:06,906 INFO SettingsFactory ] Use outer join fetching: true
[15:23:06,921 INFO NamingHelper ] JNDI InitialContext properties:{}
[15:23:06,921 INFO DatasourceConnectionProvider] Using datasource: ntira.jdbc.datasource.NTIRANetwars
[15:23:06,937 INFO TransactionFactoryFactory] Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
[15:23:06,937 INFO TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache
is not recommended)
[15:23:06,953 INFO SettingsFactory ] Use scrollable result sets: true
[15:23:06,953 INFO SettingsFactory ] Use JDBC3 getGeneratedKeys(): false
[15:23:06,953 INFO SettingsFactory ] Optimize cache for minimal puts: false
[15:23:06,953 INFO SettingsFactory ] echoing all SQL to stdout
[15:23:06,953 INFO SettingsFactory ] Query language substitutions: {}
[15:23:06,953 INFO SettingsFactory ] cache provider: net.sf.ehcache.hibernate.Provider
[15:23:06,968 INFO Configuration ] instantiating and configuring caches
[15:23:07,000 INFO SessionFactoryImpl ] building session factory
[15:23:07,000 DEBUG SessionFactoryImpl ] instantiating session factory with properties: {show_sql=true, java.vendor=Sun Microsystems Inc., javax.xml.
rpc.encodingstyle.namespace.uri=UTF-8, org.xml.sax.parser=weblogic.xml.jaxp.RegistryParser, weblogic.webservice.forceXMLEncoding=true, connection.data
source=ntira.jdbc.datasource.NTIRANetwars, os.name=Windows XP, sun.boot.class.path=C:\bea\JDK141~2\jre\lib\rt.jar;C:\bea\JDK141~2\jre\lib\i18n.jar;C:\
bea\JDK141~2\jre\lib\sunrsasign.jar;C:\bea\JDK141~2\jre\lib\jsse.jar;C:\bea\JDK141~2\jre\lib\jce.jar;C:\bea\JDK141~2\jre\lib\charsets.jar;C:\bea\JDK14
1~2\jre\classes, sun.java2d.fontpath=, java.vm.specification.vendor=Sun Microsystems Inc., java.runtime.version=1.4.1_05-b01, weblogic.webservice.i18n
.charset=UTF-8, weblogic.Name=NTIRAServer, jmx.implementation.vendor=Sun Microsystems, hibernate.cache.provider_class=net.sf.ehcache.hibernate.Provide
r, user.name=blundys, jmx.implementation.name=JMX RI, user.language=en, java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory, sun.boot.li
brary.path=C:\bea\JDK141~2\jre\bin, dialect=net.sf.hibernate.dialect.SybaseDialect, jmx.specification.name=Java Management Extensions, java.version=1.
4.1_05, version=2.2.D11, user.timezone=America/New_York, sun.arch.data.model=32, hibernate.use_outer_join=true, javax.rmi.CORBA.UtilClass=weblogic.iio
p.UtilDelegateImpl, jmx.specification.version=1.0 Final Release, java.endorsed.dirs=C:\bea\JDK141~2\jre\lib\endorsed, vde.home=.\NTIRAServer\ldap, sun
.cpu.isalist=pentium i486 i386, jmx.implementation.version=1.0, file.encoding.pkg=sun.io, weblogic.mbeanLegalClause.ByPass=false, file.separator=\, ja
va.specification.name=Java Platform API Specification, org.uddi4j.logEnabled=true, hibernate.cglib.use_reflection_optimizer=true, java.class.version=4
8.0, user.country=US, java.home=C:\bea\JDK141~2\jre, java.vm.info=mixed mode, os.version=5.1, transaction.factory_class=net.sf.hibernate.transaction.J
DBCTransactionFactory, hibernate.transaction.factory_class=net.sf.hibernate.transaction.JDBCTransactionFactory, hibernate.connection.datasource=ntira.
jdbc.datasource.NTIRANetwars, org.omg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB, path.separator=;, java.vm.version=1.4.1_05-b01, java.util.prefs.
PreferencesFactory=java.util.prefs.WindowsPreferencesFactory, user.variant=, vendor-url=http://xml.apache.org/xalan-j, java.protocol.handler.pkgs=webl
ogic.utils|weblogic.utils|weblogic.net|org.apache.axis.transport|, jmx.specification.vendor=Sun Microsystems, java.awt.printerjob=sun.awt.windows.WPri
nterJob, vendor=Apache Software Foundation, java.security.policy=C:\bea\WEBLOG~2\server\lib\weblogic.policy, sun.io.unicode.encoding=UnicodeLittle, aw
t.toolkit=sun.awt.windows.WToolkit, java.naming.factory.url.pkgs=weblogic.jndi.factories:weblogic.corba.j2ee.naming.url, user.home=C:\Documents and Se
ttings\blundys, java.specification.vendor=Sun Microsystems Inc., org.xml.sax.driver=weblogic.apache.xerces.parsers.SAXParser, java.library.path=C:\bea
\JDK141~2\bin;.;C:\WINDOWS\System32;C:\WINDOWS;C:\bea\WEBLOG~2\server\bin;C:\bea\JDK141~2\jre\bin;C:\bea\JDK141~2\bin;C:\Program Files\ActivCard\Activ
Card Gold\resources;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\oracle\ora90\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\Program Files
\jikes-1.18\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\java\apache-ant-1.5.4\bin\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\
;C:\bea\WEBLOG~2\server\bin\oci920_8, java.vendor.url=http://java.sun.com/, java.vm.vendor=Sun Microsystems Inc., hibernate.dialect=net.sf.hibernate.d
ialect.SybaseDialect, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, java.class.path=C:\bea\JDK141~2\lib\tools.jar;C:\bea\WEBLOG~
2\server\lib\weblogic_sp.jar;C:\bea\WEBLOG~2\server\lib\weblogic.jar;C:\bea\WEBLOG~2\server\lib\ojdbc14.jar;C:\bea\WEBLOG~2\common\eval\pointbase\lib\
pbserver44.jar;C:\bea\WEBLOG~2\common\eval\pointbase\lib\pbclient44.jar;C:\bea\JDK141~2\jre\lib\rt.jar;C:\bea\WEBLOG~2\server\lib\webservices.jar;C:\b
ea\WEBLOG~2\server\lib\Opta2000.jar;C:\Libraries\commons-collections-3.0\commons-collections-3.0.jar, use_outer_join=true, java.vm.specification.name=
Java Virtual Machine Specification, java.vm.specification.version=1.0, javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDel
egateImpl, sun.cpu.endian=little, sun.os.patch.level=Service Pack 1, java.io.tmpdir=C:\DOCUME~1\blundys\LOCALS~1\Temp\, java.vendor.url.bug=http://jav
a.sun.com/cgi-bin/bugreport.cgi, org.uddi4j.logFileName=uddi.log, os.arch=x86, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.ext.dirs=C:
\bea\JDK141~2\jre\lib\ext, user.dir=C:\bea\user_projects\domains\NTIRADomain, line.separator=
, java.vm.name=Java HotSpot(TM) Client VM, javax.xml.soap.MessageFactory=weblogic.webservice.core.soap.MessageFactoryImpl, org.omg.CORBA.ORBClass=webl
ogic.corba.orb.ORB, file.encoding=Cp1252, javax.xml.rpc.ServiceFactory=weblogic.webservice.core.rpc.ServiceFactoryImpl, weblogic.ProductionModeEnabled
=, java.specification.version=1.4, hibernate.show_sql=true}
[15:23:07,375 DEBUG SessionFactoryObjectFactory] initializing class SessionFactoryObjectFactory
[15:23:07,375 DEBUG SessionFactoryObjectFactory] registered: 2c911bf1fea1b37900fea1b37aef0000 (unnamed)
[15:23:07,390 INFO SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
[15:23:07,390 DEBUG SessionFactoryImpl ] instantiated session factory


Save object

[15:24:56,921 DEBUG SessionImpl ] opened session
[15:24:56,921 DEBUG SessionImpl ] closing session
[15:24:56,937 DEBUG ScenarioManager ] scenario.id=null
[15:24:56,937 DEBUG SessionImpl ] opened session
[15:24:56,937 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:56,937 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.netwars.scenario.Scenario#<null>]
[15:24:56,937 DEBUG SessionImpl ] executing insertions
[15:24:56,937 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:24:56,953 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:24:56,984 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacs
[15:24:57,000 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacLinksMap
[15:24:57,000 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.netwars.scenario.Scenario (native id)
[15:24:57,000 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,015 DEBUG BatcherImpl ] insert into ScenarioList (ScenarioName) values (?)
select @@identity
Hibernate: insert into ScenarioList (ScenarioName) values (?)
select @@identity
[15:24:57,015 DEBUG BatcherImpl ] preparing statement
[15:24:57,015 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.netwars.scenario.Scenario#<null>]
[15:24:57,015 DEBUG NullableType ] binding '' to parameter: 1
[15:24:57,015 DEBUG AbstractEntityPersister] Natively generated identity: 6
[15:24:57,015 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,015 DEBUG BatcherImpl ] closing statement
[15:24:57,031 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:24:57,031 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacs
[15:24:57,031 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,031 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,031 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,031 DEBUG SessionImpl ] executing insertions
[15:24:57,031 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,046 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,046 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,046 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,046 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,046 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.netwars.scenario.Opfac (native id)
[15:24:57,062 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,062 DEBUG BatcherImpl ] insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, Op
facIconName, OpfacLatitude, OpfacLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
Hibernate: insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, OpfacIconName, OpfacLatitude, Opf
acLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
[15:24:57,062 DEBUG BatcherImpl ] preparing statement
[15:24:57,062 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,062 DEBUG NullableType ] binding '6' to parameter: 1
[15:24:57,062 DEBUG NullableType ] binding '0' to parameter: 2
[15:24:57,078 DEBUG NullableType ] binding '0' to parameter: 3
[15:24:57,078 DEBUG NullableType ] binding 'Command Room' to parameter: 4
[15:24:57,078 DEBUG NullableType ] binding '0' to parameter: 5
[15:24:57,078 DEBUG NullableType ] binding 'army' to parameter: 6
[15:24:57,078 DEBUG NullableType ] binding 'test' to parameter: 7
[15:24:57,078 DEBUG NullableType ] binding 'icon_icon' to parameter: 8
[15:24:57,078 DEBUG NullableType ] binding '0.0' to parameter: 9
[15:24:57,078 DEBUG NullableType ] binding '0.0' to parameter: 10
[15:24:57,078 DEBUG NullableType ] binding 'D' to parameter: 11
[15:24:57,093 DEBUG NullableType ] binding '0.0' to parameter: 12
[15:24:57,093 DEBUG AbstractEntityPersister] Natively generated identity: 16
[15:24:57,093 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,093 DEBUG BatcherImpl ] closing statement
[15:24:57,093 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,093 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,109 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,125 DEBUG SessionImpl ] running Session.finalize()
[15:24:57,125 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,125 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,125 DEBUG SessionImpl ] executing insertions
[15:24:57,125 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,125 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,140 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.equipmentstrings.EquipString (native id)
[15:24:57,140 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,140 DEBUG BatcherImpl ] insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?
, ?, ?)
select @@identity
Hibernate: insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?, ?, ?)
select @@identity
[15:24:57,140 DEBUG BatcherImpl ] preparing statement
[15:24:57,140 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,140 DEBUG NullableType ] binding '16' to parameter: 1
[15:24:57,140 DEBUG NullableType ] binding '0' to parameter: 2
[15:24:57,156 DEBUG NullableType ] binding '33598' to parameter: 3
[15:24:57,156 DEBUG NullableType ] binding 'Fax' to parameter: 4
[15:24:57,156 DEBUG AbstractEntityPersister] Natively generated identity: 74
[15:24:57,156 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,156 DEBUG BatcherImpl ] closing statement
[15:24:57,156 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,156 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:24:57,156 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,156 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,171 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,171 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,171 DEBUG SessionImpl ] executing insertions
[15:24:57,171 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,171 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,171 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.equipmentstrings.EquipString (native id)
[15:24:57,171 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,171 DEBUG BatcherImpl ] insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?
, ?, ?)
select @@identity
Hibernate: insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?, ?, ?)
select @@identity
[15:24:57,187 DEBUG BatcherImpl ] preparing statement
[15:24:57,187 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,187 DEBUG NullableType ] binding '16' to parameter: 1
[15:24:57,187 DEBUG NullableType ] binding '1' to parameter: 2
[15:24:57,187 DEBUG NullableType ] binding '7560' to parameter: 3
[15:24:57,187 DEBUG NullableType ] binding 'Voice' to parameter: 4
[15:24:57,187 DEBUG AbstractEntityPersister] Natively generated identity: 75
[15:24:57,203 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,203 DEBUG BatcherImpl ] closing statement
[15:24:57,203 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,203 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:24:57,203 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,203 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,203 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,203 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,218 DEBUG SessionImpl ] executing insertions
[15:24:57,218 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,218 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,218 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.equipmentstrings.EquipString (native id)
[15:24:57,218 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,218 DEBUG BatcherImpl ] insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?
, ?, ?)
select @@identity
Hibernate: insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?, ?, ?)
select @@identity
[15:24:57,218 DEBUG BatcherImpl ] preparing statement
[15:24:57,218 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,234 DEBUG NullableType ] binding '16' to parameter: 1
[15:24:57,234 DEBUG NullableType ] binding '2' to parameter: 2
[15:24:57,234 DEBUG NullableType ] binding '27047' to parameter: 3
[15:24:57,234 DEBUG NullableType ] binding 'Data' to parameter: 4
[15:24:57,234 DEBUG AbstractEntityPersister] Natively generated identity: 76
[15:24:57,234 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,250 DEBUG BatcherImpl ] closing statement
[15:24:57,250 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,250 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:24:57,250 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,250 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,250 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,265 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,265 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,281 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,281 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,281 DEBUG SessionImpl ] executing insertions
[15:24:57,281 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,281 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,281 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,281 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,296 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,296 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.netwars.scenario.Opfac (native id)
[15:24:57,296 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,296 DEBUG BatcherImpl ] insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, Op
facIconName, OpfacLatitude, OpfacLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
Hibernate: insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, OpfacIconName, OpfacLatitude, Opf
acLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
[15:24:57,296 DEBUG BatcherImpl ] preparing statement
[15:24:57,296 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,296 DEBUG NullableType ] binding '6' to parameter: 1
[15:24:57,296 DEBUG NullableType ] binding '1' to parameter: 2
[15:24:57,312 DEBUG NullableType ] binding '0' to parameter: 3
[15:24:57,312 DEBUG NullableType ] binding 'Flight Ops' to parameter: 4
[15:24:57,312 DEBUG NullableType ] binding '0' to parameter: 5
[15:24:57,312 DEBUG NullableType ] binding 'army' to parameter: 6
[15:24:57,312 DEBUG NullableType ] binding 'test' to parameter: 7
[15:24:57,312 DEBUG NullableType ] binding 'icon_icon' to parameter: 8
[15:24:57,312 DEBUG NullableType ] binding '5.0' to parameter: 9
[15:24:57,312 DEBUG NullableType ] binding '0.0' to parameter: 10
[15:24:57,312 DEBUG NullableType ] binding 'D' to parameter: 11
[15:24:57,312 DEBUG NullableType ] binding '0.0' to parameter: 12
[15:24:57,328 DEBUG AbstractEntityPersister] Natively generated identity: 17
[15:24:57,328 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,328 DEBUG BatcherImpl ] closing statement
[15:24:57,328 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,328 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,328 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,328 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,328 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,343 DEBUG SessionImpl ] executing insertions
[15:24:57,343 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,343 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,343 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.equipmentstrings.EquipString (native id)
[15:24:57,343 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,343 DEBUG BatcherImpl ] insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?
, ?, ?)
select @@identity
Hibernate: insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?, ?, ?)
select @@identity
[15:24:57,359 DEBUG BatcherImpl ] preparing statement
[15:24:57,359 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,359 DEBUG NullableType ] binding '17' to parameter: 1
[15:24:57,359 DEBUG NullableType ] binding '0' to parameter: 2
[15:24:57,359 DEBUG NullableType ] binding '34290' to parameter: 3
[15:24:57,359 DEBUG NullableType ] binding 'Fax' to parameter: 4
[15:24:57,359 DEBUG AbstractEntityPersister] Natively generated identity: 77
[15:24:57,375 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,375 DEBUG BatcherImpl ] closing statement
[15:24:57,375 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,375 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:24:57,375 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,375 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,375 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,375 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,375 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,375 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,390 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,390 DEBUG SessionImpl ] executing insertions
[15:24:57,390 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,390 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,390 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,390 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,390 DEBUG WrapVisitor ] Wrapped collection in role: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,406 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.netwars.scenario.Opfac (native id)
[15:24:57,406 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,406 DEBUG BatcherImpl ] insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, Op
facIconName, OpfacLatitude, OpfacLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
Hibernate: insert into OpfacList (Scenario_ID, OpfacIndex, OpfacType, OpfacName, OpfacCost, OpfacService, OpfacTask, OpfacIconName, OpfacLatitude, Opf
acLongitude, OpfacElevationCode, OpfacElevation) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
select @@identity
[15:24:57,406 DEBUG BatcherImpl ] preparing statement
[15:24:57,421 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.netwars.scenario.Opfac#<null>]
[15:24:57,421 DEBUG NullableType ] binding '6' to parameter: 1
[15:24:57,421 DEBUG NullableType ] binding '2' to parameter: 2
[15:24:57,421 DEBUG NullableType ] binding '0' to parameter: 3
[15:24:57,421 DEBUG NullableType ] binding 'Bridge' to parameter: 4
[15:24:57,421 DEBUG NullableType ] binding '0' to parameter: 5
[15:24:57,437 DEBUG NullableType ] binding 'army' to parameter: 6
[15:24:57,437 DEBUG NullableType ] binding 'test' to parameter: 7
[15:24:57,437 DEBUG NullableType ] binding 'icon_icon' to parameter: 8
[15:24:57,437 DEBUG NullableType ] binding '10.0' to parameter: 9
[15:24:57,437 DEBUG NullableType ] binding '0.0' to parameter: 10
[15:24:57,437 DEBUG NullableType ] binding 'D' to parameter: 11
[15:24:57,437 DEBUG NullableType ] binding '0.0' to parameter: 12
[15:24:57,437 DEBUG AbstractEntityPersister] Natively generated identity: 18
[15:24:57,437 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,453 DEBUG BatcherImpl ] closing statement
[15:24:57,453 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,453 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.equipStrings
[15:24:57,453 DEBUG Cascades$4 ] cascading to saveOrUpdate()
[15:24:57,453 DEBUG SessionImpl ] saveOrUpdate() unsaved instance
[15:24:57,453 DEBUG SessionImpl ] saving [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,453 DEBUG SessionImpl ] executing insertions
[15:24:57,453 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,453 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,468 DEBUG EntityPersister ] Inserting entity: com.scires.ntiranetwars.business.equipmentstrings.EquipString (native id)
[15:24:57,468 DEBUG BatcherImpl ] about to open: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,468 DEBUG BatcherImpl ] insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?
, ?, ?)
select @@identity
Hibernate: insert into OpfacEquipStringList (Opfac_ID, OpfacEquipStringIndex, ES_ID, OpfacEquipStringMode) values (?, ?, ?, ?)
select @@identity
[15:24:57,468 DEBUG BatcherImpl ] preparing statement
[15:24:57,468 DEBUG EntityPersister ] Dehydrating entity: [com.scires.ntiranetwars.business.equipmentstrings.EquipString#<null>]
[15:24:57,468 DEBUG NullableType ] binding '18' to parameter: 1
[15:24:57,468 DEBUG NullableType ] binding '0' to parameter: 2
[15:24:57,468 DEBUG NullableType ] binding '34303' to parameter: 3
[15:24:57,484 DEBUG NullableType ] binding 'Fax' to parameter: 4
[15:24:57,484 DEBUG AbstractEntityPersister] Natively generated identity: 78
[15:24:57,484 DEBUG BatcherImpl ] done closing: 0 open PreparedStatements, 0 open ResultSets
[15:24:57,484 DEBUG BatcherImpl ] closing statement
[15:24:57,484 DEBUG Cascades ] processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,484 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.equipmentstrings.EquipString.entries
[15:24:57,500 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.equipmentstrings.EquipString
[15:24:57,500 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.deviceLinkMap
[15:24:57,500 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Opfac.esLinks
[15:24:57,500 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Opfac
[15:24:57,500 DEBUG Cascades ] cascading to collection: com.scires.ntiranetwars.business.netwars.scenario.Scenario.opfacLinksMap
[15:24:57,500 DEBUG Cascades ] done processing cascades for: com.scires.ntiranetwars.business.netwars.scenario.Scenario
[15:24:57,500 DEBUG SessionImpl ] closing session
[15:24:57,500 DEBUG SessionImpl ] disconnecting session
[15:24:57,500 DEBUG SessionImpl ] transaction completion
[15:24:57,843 DEBUG SessionImpl ] opened session
[15:24:57,859 DEBUG SessionImpl ] closing session


Top
 Profile  
 
 Post subject: Maybe your problem is related to the one I just had...
PostPosted: Mon Aug 30, 2004 12:06 am 
Newbie

Joined: Wed Aug 04, 2004 4:16 pm
Posts: 12
Location: UCSC
I had a similar problem using just a basic <element>, not a
<composite-element>. It turned out the problem was with
the setter for my persisted set. Here's what I found to be
relevant portions from the FAQs:

FAQ section: Common Problems
title: "I have some other kind of wierd bugs....."
and
title: "Hibernate keeps deleting and recreating my collection!"

My problem was that my setter actually cleared the current
contents of my set (which had already been initialized with
a specific comparator, not discoverable until runtime and
therefore not able to be persisted as a sorted set) and then
addAll()'d the setter's argument's contents, so they would
be sorted. This caused my "current" set to dereference its
contents, which then got deleted, which meant that there
were no contents in the setter's argument to be copied.

I only suggest this as an idea for you because I too had tried
all sorts of mapping solutions and it turned out the problem
wasn't in the mapping at all. As Gavin pointed out in a response
to my problem, you can't do anything "funny" in the getters
and setters for collections. All the examples in Chapter 6
seem to just do a straight-up assignment and return, but I'm
personally still not clear at what point a get/setter becomes
funny. Definitely stay away from clear() or any dereferencing,
though!

Hope it helps and good luck,
Jennifer Bevan


Top
 Profile  
 
 Post subject: Still failing to save
PostPosted: Mon Aug 30, 2004 11:00 am 
Newbie

Joined: Tue Nov 11, 2003 2:27 pm
Posts: 9
I've got it implemented as a map and I'm using field access.

Therefore, to test things out, I tried adding a simple list with a few strings, but that wasn't saved either. I set it up like so:

Code:
<list name="test" table="TEST">
   <key column="Scenario_ID"/>
   <index column="TestIndex"/>
   <element type="string" column="TestData"/>
</list>

Create Script:
Code:
CREATE TABLE Test (
   Scenario_ID int NULL ,
   TestIndex int NULL ,
   TestData varchar (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON PRIMARY

I also tried:
Code:
<list name="test" table="TEST" access="field">
...

Code:
<list name="test" table="TEST" cascade="all">
...

Code:
<list name="test" table="TEST" access="field" cascade="all">
...

Code:
<list name="test" table="TEST" cascade="save-update">
...

Code:
<list name="test" table="TEST" access="field" cascade="all-delete-orphan">
...

And
Code:
<list name="test" table="TEST" access="field" cascade="save-update">
..


This is all very strange. It seems all too simple a case to be a bug, more likely a configuration setting, but I really have no idea. Any suggestions?

After some fiddling, my hibernate.cfg.xml file looks like this:
Code:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 2.0//EN"
      "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<hibernate-configuration>
   <!-- a SessionFactory instance listed as /jndi/name -->
   <session-factory>
      <!-- properties -->

      <property name="connection.datasource">ntira.jdbc.datasource.NTIRANetwars</property>
      <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
      <property name="show_sql">true</property>
      <property name="use_outer_join">true</property>
      <property name="transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>
      <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.Provider</property>

      <!-- mapping files -->
      <mapping resource="com/scires/ntira/session/UserImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/SessionPageVisitImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/UserSessionImpl.hbm.xml"/>
      <mapping resource="com/scires/ntira/session/UserPreferencesImpl.hbm.xml"/>

      <!-- app mapping files -->
      <mapping resource="com/scires/ntiranetwars/business/equipmentstrings/EquipString.hbm.xml"/>
      <mapping resource="com/scires/ntiranetwars/business/netwars/scenario/Opfac.hbm.xml"/>
      <mapping resource="com/scires/ntiranetwars/business/netwars/scenario/Scenario.hbm.xml"/>
   </session-factory>
</hibernate-configuration>
[/code]


Top
 Profile  
 
 Post subject: and your getters/setters?
PostPosted: Mon Aug 30, 2004 12:38 pm 
Newbie

Joined: Wed Aug 04, 2004 4:16 pm
Posts: 12
Location: UCSC
Could you add your getter/setter code?
I'll see if I can recreate your problem here but I'd need that too.
-Jen


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 30, 2004 1:14 pm 
Newbie

Joined: Tue Nov 11, 2003 2:27 pm
Posts: 9
The getting and setters are normal:

Here's the test property:
Code:
public List getTest() {
   return test;
}

public void setTest(List test) {
   this.test = test;
}


And the troublesome map:
Code:
public Map getOpfacLinksMap() {
   return this.opfacLinksMap;
}

public void setOpfacLinksMap(Map map) {
   this.opfacLinksMap = map;
}


And their declarations:
Code:
private Map opfacLinksMap = new java.util.HashMap();
private List test = new java.util.ArrayList();

The map funkiness is as it's implemented, that's what's so strange about all this. The funky getter/setters are used by the program, but hibernate is directed toward the simple ones above. The getter/setters were similar when opfacLinks was both an array and a list.

In case you're interested, here are the opfacLinks getter/setter used by the code. But as I said, hibernate is configured to use opfacLinksMap which is direct:
Code:
public List getOpfacLinks() {
   return new AbstractList() {

      public Object get(int index) {
         return getOpfacLinks(index);
      }

      public int size() {
         return Scenario.this.opfacs.isEmpty() ? 0 : Scenario.this.opfacs.size() - 1;
      }
   };
}

public PtpLink getOpfacLinks(int fromOpfac) {
   return (PtpLink) this.opfacLinksMap.get(new Integer(fromOpfac));
}


Top
 Profile  
 
 Post subject: Definitely not related to "cascade" with <eleme
PostPosted: Mon Aug 30, 2004 2:35 pm 
Newbie

Joined: Wed Aug 04, 2004 4:16 pm
Posts: 12
Location: UCSC
So, I think we can safely say that the cascade options
are all irrelevant with <element> -- I'd been stepping through
the debugger and found that before the setter was called
my set had contents, and after the setter was called my set
did not have any contents....and besides, Gavin was most
explicit in his reply to me that cascade doesn't affect collections
of value types. If you put a watch on your opfacLinksMap
through the debugger, say from the doSave() call, does your
map still have what you expect in it?

I'm certainly not clear on
exactly how hibernate tracks value type contents; I've
currently got a setter that says this.me = new TreeMap(argmap)
which should cause a different instance to be retrieved by
the getter, which shouldn't work according to the FAQ I
mentioned earlier, but it does work, so I too am unclear on
exactly what behavior is allowed when mapping collections.
I did isolate my "real" map from my hibernated map, because
of my own app logic. My hibernate getter returns the same
instance resulting from the setter...whereas your "real" getter
actually returns a new instance itself, yes? Hmmm...
so the getter is called multiple times during a save, is that
okay with the rest of your logic?

Okay, I got wrapped around myself a bit there. I haven't used
field-level access yet, and Gavin did say that if I needed to do
something funky then I should try that. All I can say is try the
debugger because regardless of what the documentation says,
it's the code we have to work with (*smile*). I'd start at the
doSave() call, I think it's in the Engine() class...

good luck,
Jen


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 30, 2004 4:00 pm 
Newbie

Joined: Tue Nov 11, 2003 2:27 pm
Posts: 9
I'm still stepping through the code, but so far I've determained that both test and opfacLinksMap are being examined and wrapped in PersistanceCollections. They continue to contain the correct values. Right now I'm trying to understand doSave and how it identifies items to be written to the db.


Top
 Profile  
 
 Post subject: I knew it was something simple
PostPosted: Tue Aug 31, 2004 4:23 pm 
Newbie

Joined: Tue Nov 11, 2003 2:27 pm
Posts: 9
Right, so it seems that I needed to call flush() to get everything written the db. I understand why this is might be so, but still, it was unexpected. I suppose I'll have to start being over zealous with flush() calls.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.