I have problem in Hibernate 2.1.4, when I select data Hiberneta does update data in database. There is not "is dirty" in log, the only problem I saw is:
2004.08.01 01:19:16 net.sf.hibernate.util.ReflectHelper getBulkBean
INFO: reflection optimizer disabled for: sd.hibernate.Smjena, BulkBeanException: Cannot find specified property (property setPonedjeljak)
Here is code with line numbers, update is happen after line 49:
45: Query query=session.createQuery("FROM Smjena AS s ORDER BY s.odjel.naziv, s.djelatnikSkupina.ime, s.naziv");
47: result=query.list();
49: tran.commit();
51:
45:
47:
Hibernate: select smjena0_.SMJENA_ID as SMJENA_ID, smjena0_.NAZIV as NAZIV, smjena0_.POCETAK as POCETAK, smjena0_.KRAJ as KRAJ, smjena0_.TRAJANJE as TRAJANJE, smjena0_.PONEDJELJAK as PONEDJEL6_, smjena0_.UTORAK as UTORAK, smjena0_.SRIJEDA as SRIJEDA, smjena0_.CETVRTAK as CETVRTAK, smjena0_.PETAK as PETAK, smjena0_.SUBOTA as SUBOTA, smjena0_.NEDJELJA as NEDJELJA, smjena0_.ODJEL_ID as ODJEL_ID, smjena0_.DJELATNIK_SKUPINA_ID as DJELATN14_ from SD.SMJENA smjena0_, SD.ODJEL odjel1_, SD.DJELATNIK_SKUPINA djelatniks2_ where smjena0_.ODJEL_ID=odjel1_.ODJEL_ID and smjena0_.DJELATNIK_SKUPINA_ID=djelatniks2_.DJELATNIK_SKUPINA_ID order by odjel1_.NAZIV , djelatniks2_.IME , smjena0_.NAZIV
Hibernate: select odjel0_.ODJEL_ID as ODJEL_ID0_, odjel0_.NAZIV as NAZIV0_ from SD.ODJEL odjel0_ where odjel0_.ODJEL_ID=?
Hibernate: select djelatniks0_.DJELATNIK_SKUPINA_ID as DJELATNI1_0_, djelatniks0_.IME as IME0_ from SD.DJELATNIK_SKUPINA djelatniks0_ where djelatniks0_.DJELATNIK_SKUPINA_ID=?
Hibernate: select smjene0_.SMJENA_ID as SMJENA_ID__, smjene0_.DJELATNIK_SKUPINA_ID as DJELATN14___, smjene0_.SMJENA_ID as SMJENA_ID1_, smjene0_.NAZIV as NAZIV1_, smjene0_.POCETAK as POCETAK1_, smjene0_.KRAJ as KRAJ1_, smjene0_.TRAJANJE as TRAJANJE1_, smjene0_.PONEDJELJAK as PONEDJEL6_1_, smjene0_.UTORAK as UTORAK1_, smjene0_.SRIJEDA as SRIJEDA1_, smjene0_.CETVRTAK as CETVRTAK1_, smjene0_.PETAK as PETAK1_, smjene0_.SUBOTA as SUBOTA1_, smjene0_.NEDJELJA as NEDJELJA1_, smjene0_.ODJEL_ID as ODJEL_ID1_, smjene0_.DJELATNIK_SKUPINA_ID as DJELATN14_1_, odjel1_.ODJEL_ID as ODJEL_ID0_, odjel1_.NAZIV as NAZIV0_ from SD.SMJENA smjene0_ left outer join SD.ODJEL odjel1_ on smjene0
_.ODJEL_ID=odjel1_.ODJEL_ID where smjene0_.DJELATNIK_SKUPINA_ID=?
Hibernate: select djelatnici0_.DJELATNIK_ID as DJELATNI1___, djelatnici0_.DJELATNIK_SKUPINA_ID as DJELATNI4___, djelatnici0_.DJELATNIK_ID as DJELATNI1_1_, djelatnici0_.IME as IME1_, djelatnici0_.PREZIME as PREZIME1_, djelatnici0_.DJELATNIK_SKUPINA_ID as DJELATNI4_1_, djelatnici0_.ODJEL_ID as ODJEL_ID1_, odjel1_.ODJEL_ID as ODJEL_ID0_, odjel1_.NAZIV as NAZIV0_ from SD.DJELATNIK djelatnici0_ left outer join SD.ODJEL odjel1_ on djelatnici0_.ODJEL_ID=odjel1_.ODJEL_ID where djelatnici0_.DJELATNIK_SKUPINA_ID=?
Hibernate: select smjene0_.SMJENA_ID as SMJENA_ID__, smjene0_.ODJEL_ID as ODJEL_ID__, smjene0_.SMJENA_ID as SMJENA_ID1_, smjene0_.NAZIV as NAZIV1_, smjene0_.POCETAK as POCETAK1_, smjene0_.KRAJ as KRAJ1_, smjene0_.TRAJANJE as TRAJANJE1_, smjene0_.PONEDJELJAK as PONEDJEL6_1_, smjene0_.UTORAK as UTORAK1_, smjene0_.SRIJEDA as SRIJEDA1_, smjene0_.CETVRTAK as CETVRTAK1_, smjene0_.PETAK as PETAK1_, smjene0_.SUBOTA as SUBOTA1_, smjene0_.NEDJELJA as NEDJELJA1_, smjene0_.ODJEL_ID as ODJEL_ID1_, smjene0_.DJELATNIK_SKUPINA_ID as DJELATN14_1_, djelatniks1_.DJELATNIK_SKUPINA_ID as DJELATNI1_0_, djelatniks1_.IME as IME0_ from SD.SMJENA smjene0_ left outer join SD.DJELATNIK_SKUPINA djelatniks1_ on smjene0_.DJELATNIK_SKUPINA_ID=djelatniks1_.DJELATNIK_SKUPINA_ID where smjene0_.ODJEL_ID=?
Hibernate: select voditelji0_.ODJEL_VODITELJ_ID as ODJEL_VO1___, voditelji0_.ODJEL_ID as ODJEL_ID__, voditelji0_.ODJEL_VODITELJ_ID as ODJEL_VO1_3_, voditelji0_.ODJEL_ID as ODJEL_ID3_, voditelji0_.DJELATNIK_ID as DJELATNI3_3_, djelatnik1_.DJELATNIK_ID as DJELATNI1_0_, djelatnik1_.IME as IME0_, djelatnik1_.PREZIME as PREZIME0_, djelatnik1_.DJELATNIK_SKUPINA_ID as DJELATNI4_0_, djelatnik1_.ODJEL_ID as ODJEL_ID0_, djelatniks2_.DJELATNIK_SKUPINA_ID as DJELATNI1_1_, djelatniks2_.IME as IME1_, odjel3_.ODJEL_ID as ODJEL_ID2_, odjel3_.NAZIV as NAZIV2_ from SD.ODJEL_VODITELJ voditelji0_ left outer join SD.DJELATNIK djelatnik1_ on voditelji0_.DJELATNIK_ID=djelatnik1_.DJELATNIK_
ID left outer join SD.DJELATNIK_SKUPINA djelatniks2_ on djelatnik1_.DJELATNIK_SKUPINA_ID=djelatniks2_.DJELATNIK_SKUPINA_ID left outer join SD.ODJEL odjel3_ on djelatnik1_.ODJEL_ID=odjel3_.ODJEL_ID where voditelji0_.ODJEL_ID=?
Hibernate: select djelatnici0_.DJELATNIK_ID as DJELATNI1___, djelatnici0_.ODJEL_ID as ODJEL_ID__, djelatnici0_.DJELATNIK_ID as DJELATNI1_1_, djelatnici0_.IME as IME1_, djelatnici0_.PREZIME as PREZIME1_, djelatnici0_.DJELATNIK_SKUPINA_ID as DJELATNI4_1_, djelatnici0_.ODJEL_ID as ODJEL_ID1_, djelatniks1_.DJELATNIK_SKUPINA_ID as DJELATNI1_0_, djelatniks1_.IME as IME0_ from SD.DJELATNIK djelatnici0_ left outer join SD.DJELATNIK_SKUPINA djelatniks1_ on djelatnici0_.DJELATNIK_SKUPINA_ID=djelatniks1_.DJELATNIK_SKUPINA_ID where djelatnici0_.ODJEL_ID=?
Hibernate: select sobe0_.SOBA_ID as SOBA_ID__, sobe0_.ODJEL_ID as ODJEL_ID__, sobe0_.SOBA_ID as SOBA_ID0_, sobe0_.IME as IME0_, sobe0_.KUPANJE_DAN as KUPANJE_3_0_, sobe0_.ODJEL_ID as ODJEL_ID0_ from SD.SOBA sobe0_ where sobe0_.ODJEL_ID=?
49:
2004.08.01 01:19:24 net.sf.hibernate.connection.DriverManagerConnectionProvider close
INFO: cleaning up connection pool: jdbc:mckoi:local://mckoi1.0.2/db.conf
Hibernate: update SD.SMJENA set NAZIV=?, POCETAK=?, KRAJ=?, TRAJANJE=?, PONEDJELJAK=?, UTORAK=?, SRIJEDA=?, CETVRTAK=?, PETAK=?, SUBOTA
=?, NEDJELJA=?, ODJEL_ID=?, DJELATNIK_SKUPINA_ID=? where SMJENA_ID=?
51:
Why is this update happaning? Here are mappings:
<class name="sd.hibernate.Smjena" table="SMJENA">
<id name="smjenaId" column="SMJENA_ID">
<generator class="native" />
</id>
<property name="naziv" type="string" unique="true">
<column name="NAZIV" not-null="true" sql-type="VARCHAR(45) COLLATE 'hrHR'"/>
</property>
<property name="pocetak" type="time">
<column name="POCETAK" not-null="true" />
</property>
<property name="kraj" type="time">
<column name="KRAJ" not-null="true" />
</property>
<property name="trajanje" type="time">
<column name="TRAJANJE" not-null="true" />
</property>
<property name="ponedjeljak" type="char" length="1">
<column name="PONEDJELJAK" not-null="true" />
</property>
<property name="utorak" type="char" length="1">
<column name="UTORAK" not-null="true" />
</property>
<property name="srijeda" type="char" length="1">
<column name="SRIJEDA" not-null="true" />
</property>
<property name="cetvrtak" type="char" length="1">
<column name="CETVRTAK" not-null="true" />
</property>
<property name="petak" type="char" length="1">
<column name="PETAK" not-null="true" />
</property>
<property name="subota" type="char" length="1">
<column name="SUBOTA" not-null="true" />
</property>
<property name="nedjelja" type="char" length="1">
<column name="NEDJELJA" not-null="true" />
</property>
<many-to-one name="odjel" column="ODJEL_ID" class="sd.hibernate.Odjel" not-null="true" />
<many-to-one name="djelatnikSkupina" column="DJELATNIK_SKUPINA_ID" class="sd.hibernate.DjelatnikSkupina" not-null="true" />
</class>
<class name="sd.hibernate.Odjel" table="ODJEL">
<id name="odjelId" column="ODJEL_ID">
<generator class="native" />
</id>
<property name="naziv" type="string">
<column name="NAZIV" not-null="true" unique="true" sql-type="VARCHAR(45) COLLATE 'hrHR'"/>
</property>
<set name="sobe" cascade="all" inverse="true">
<key column="ODJEL_ID" />
<one-to-many class="sd.hibernate.Soba"/>
</set>
<set name="djelatnici" cascade="all" inverse="true">
<key column="ODJEL_ID" />
<one-to-many class="sd.hibernate.Djelatnik"/>
</set>
<set name="voditelji" cascade="all" inverse="true">
<key column="ODJEL_ID" />
<one-to-many class="sd.hibernate.OdjelVoditelj"/>
</set>
<set name="smjene" cascade="all" inverse="true">
<key column="ODJEL_ID" />
<one-to-many class="sd.hibernate.Smjena"/>
</set>
</class>
<class name="sd.hibernate.DjelatnikSkupina" table="DJELATNIK_SKUPINA">
<id name="djelatnikSkupinaId" column="DJELATNIK_SKUPINA_ID">
<generator class="native" />
</id>
<property name="ime" type="string">
<column name="IME" not-null="true" unique="true" sql-type="VARCHAR(45) COLLATE 'hrHR'"/>
</property>
<set name="djelatnici" cascade="all" inverse="true">
<key column="DJELATNIK_SKUPINA_ID" />
<one-to-many class="sd.hibernate.Djelatnik"/>
</set>
<set name="smjene" cascade="all" inverse="true">
<key column="DJELATNIK_SKUPINA_ID" />
<one-to-many class="sd.hibernate.Smjena"/>
</set>
</class>
<class name="sd.hibernate.Soba" table="SOBA">
<id name="sobaId" column="SOBA_ID">
<generator class="native" />
</id>
<property name="ime" type="string">
<column name="IME" not-null="true" unique="true" sql-type="VARCHAR(20) COLLATE 'hrHR'"/>
</property>
<property name="kupanjeDan" type="char">
<column name="KUPANJE_DAN" length="1" not-null="true"/>
</property>
<many-to-one name="odjel" column="ODJEL_ID" not-null="true" />
</class>
<class name="sd.hibernate.OdjelVoditelj" table="ODJEL_VODITELJ">
<id name="odjelVoditeljId" column="ODJEL_VODITELJ_ID">
<generator class="native" />
</id>
<many-to-one name="odjel" column="ODJEL_ID" not-null="true" unique="true" />
<many-to-one name="djelatnik" column="DJELATNIK_ID" not-null="true" unique="true" />
</class>
|