Ahoj,

no to je stara znama vlastnost Hibernate, pokud mate komponentu, nebo cokoliv 
podobneho a vsechny vlastnosti jsou null,
pak nevlozi objekt, ktery ma vsechny atributy null, ale vlozi null :-))

To znam ... ale pozor, neni to bug ale feature ...

Jirka

Dušan Mamrilla napsal(a):
> Este upresnim detaily.
> 
> 1. Ide o spustenie junit testu vzdy nad cistou db (hibernate schema create).
> 2. Vsetky objekty su vytvarane v ramci tej istej hibernate session.
> 3. Pri vytvarani nastavujem len jednoduche vlastnosti tvoriace primarny
> kluc CardReaderAppKey + keyId , ale nenastavujem property applicationKey
> (povazoval som to za zbytocne, moj predpoklad bol zrejme chybny)
> 
> Ked som pri bode 3. doplnil aj vlastnost applicationKey, tak pri query
> bol vrateny objekt aj s nastavenym applicationKey.
> Zjavne som nieco nepochopil ...
> 
> 2007/8/21, Dušan Mamrilla < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
> 
>     Bohuzial to tiez nepomohlo. Pomoze akurat tak refresh nad konkretnym
>     objektom CardReaderAppKey (vtedy sa asociacia doplni), no to je
>     riesenie naozaj pritiahnute za vlasy.
>     Ocakaval som ze sa pouzije CGLIB proxy, debuger mi vyvratil iluzie.
>     V logu nenachadzam ziadne chyby tykajuce sa hibernate dependecies
>     preto predpokladam ze kniznice su v poriadku. Skusim este vytvorit
>     obojsmernu one-to-one asociaciu, prebehnem este ostatne vazby aby
>     som sa uistil ze to nie je moj vseobecny problem.
> 
> 
>     2007/8/21, Lukas Barton <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
> 
>         A co vrati getApplicationKey, null?
>         Zkuste pridat .setFetchMode("applicationKey", FetchMode.EAGER):
> 
>         DetachedCriteria.forClass(CardReaderAppKey.class)
>                                               
>         .add(Restrictions.eq("cardReader", new CardReader(aCardReaderId)))
>                                                .add(
>         Restrictions.eq("appKeyId", aAppKeyId))
>                                               
>         .add(Restrictions.eq("appId", aAppId))
> 
>                          .setFetchMode("applicationKey", FetchMode.EAGER)
> 
>                                               
>         .createCriteria("applicationKey").addOrder(
>         Order.desc("validFrom"));
> 
> 
> 
> 
>         Dušan Mamrilla wrote:
>>         Tu je criteria, ktore pouzivam>
>>
>>
>>
>>         2007/8/21, Lukas Barton <[EMAIL PROTECTED] <mailto:[EMAIL 
>> PROTECTED]>>:
>>
>>             Jake je vase HQL/Criteria?
>>
>>               Lukas
>>
>>
>>             Dušan Mamrilla wrote:
>>>             Bohuzial to nepomohlo.
>>>
>>>             Log zaznam so selektom:
>>>
>>>             DEBUG SQL -
>>>                 select
>>>                     this_.token_id as token1_4_1_,
>>>                     this_.app_id as app2_4_1_,
>>>                     this_.appkey_id as appkey3_4_1_,
>>>                     this_.cr_id as cr4_4_1_,
>>>                     this_.key_id as key5_4_1_,
>>>                     this_.confirmed as confirmed4_1_,
>>>                     applicatio1_.token_id as token1_3_0_,
>>>                     applicatio1_.app_id as app2_3_0_,
>>>                     applicatio1_.appkey_id as appkey3_3_0_,
>>>                     applicatio1_.key_id as key4_3_0_,
>>>                     applicatio1_.valid_from as valid5_3_0_
>>>                 from
>>>                     test.hsm_cardreader_appkey this_
>>>                 inner join
>>>                     test.hsm_appkey applicatio1_
>>>                         on this_.token_id=applicatio1_.token_id
>>>                         and this_.app_id=applicatio1_.app_id
>>>                         and this_.appkey_id=applicatio1_.appkey_id
>>>                         and this_.key_id=applicatio1_.key_id
>>>                 where
>>>                     this_.cr_id=?
>>>                     and this_.appkey_id=?
>>>                     and this_.app_id=?
>>>                 order by
>>>                     applicatio1_.valid_from desc
>>>             DEBUG AbstractBatcher - preparing statement
>>>             DEBUG IdentifierValue - id unsaved-value strategy UNDEFINED
>>>             DEBUG LongType - binding '14031980' to parameter: 1
>>>             DEBUG IntegerType - binding '2' to parameter: 2
>>>             DEBUG StringType - binding 'KUTEST' to parameter: 3
>>>             DEBUG AbstractBatcher - about to open ResultSet (open
>>>             ResultSets: 0, globally: 0)
>>>             DEBUG Loader - processing result set
>>>             DEBUG Loader - result set row: 0
>>>             DEBUG IntegerType - returning '0' as column: token1_3_0_
>>>             DEBUG StringType - returning 'KUTEST' as column: app2_3_0_
>>>             DEBUG IntegerType - returning '2' as column: appkey3_3_0_
>>>             DEBUG StringType - returning 'KEY_2' as column: key4_3_0_
>>>             DEBUG IntegerType - returning '0' as column: token1_4_1_
>>>             DEBUG StringType - returning 'KUTEST' as column: app2_4_1_
>>>             DEBUG IntegerType - returning '2' as column: appkey3_4_1_
>>>             DEBUG LongType - returning '14031980' as column: cr4_4_1_
>>>             DEBUG DefaultLoadEventListener - loading entity:
>>>             [sk.prosoft.hsm.pojo.CardReader#14031980]
>>>             DEBUG DefaultLoadEventListener - entity found in session
>>>             cache
>>>             DEBUG Loader - result row:
>>>             
>>> EntityKey[sk.prosoft.hsm.pojo.ApplicationKey#component[tokenId,appId,appKeyId,keyId]{appId=KUTEST,
>>>             tokenId=0, appKeyId=2, keyId=KEY_2}],
>>>             EntityKey[sk.prosoft.hsm.pojo.CardReaderAppKey#component
>>>             [tokenId,appId,appKeyId,cardReader]{appId=KUTEST,
>>>             tokenId=0,
>>>             cardReader=sk.prosoft.hsm.pojo.CardReader#14031980,
>>>             appKeyId=2}]
>>>             DEBUG Loader - done processing result set (1 rows)
>>>
>>>
>>>             2007/8/21, Lukas Barton <[EMAIL PROTECTED]
>>>             <mailto:[EMAIL PROTECTED]>>:
>>>
>>>                 Jake SQL vam to generuje pro nacteni te relace?
>>>                 Pokud si dobre pamatuji je Hibernate citlivy na
>>>                 poradi sloupcu v many-to-one, zkuste prohodit key_id
>>>                 a appkey_id.
>>>
>>>                    Lukas
>>>
>>>
>>>                 Dušan Mamrilla wrote:
>>>>                 Zdravim,
>>>>
>>>>                   Mam problem s vysledkom mapovania jednosmernej
>>>>                 one-to-one asociacie. Priklad mapovania:
>>>>
>>>>                 <class name="CardReaderAppKey"
>>>>                 table="hsm_cardreader_appkey">
>>>>                     <composite-id>
>>>>                         <key-property name="tokenId" column="token_id"/>
>>>>                         <key-property name="appId" column="app_id"/>
>>>>                         <key-property name="appKeyId"
>>>>                 column="appkey_id"/>
>>>>                         <key-many-to-one name="cardReader"
>>>>                 class="CardReader" column="cr_id"/>
>>>>                     </composite-id>
>>>>                     <property name="keyId" column="key_id"
>>>>                 not-null="true"/>
>>>>                     <property name="confirmed"/>
>>>>                     <many-to-one name="applicationKey"
>>>>                 class="ApplicationKey" insert="false" update="false"
>>>>                 unique="true" not-null="true">
>>>>                         <column name="token_id"/>
>>>>                         <column name="app_id"/>
>>>>                         <column name="key_id"/>
>>>>                         <column name="appkey_id"/>
>>>>                     </many-to-one>
>>>>                 </class>
>>>>
>>>>
>>>>                 Problem nastava pri listovani [ list() hibernate
>>>>                 metoda] objektov CardReaderAppKey. Vratene objekty
>>>>                 nemaju nainicializovanu vlastnost applicationKey
>>>>                 napriek tomu, ze z databazy su tieto objekty
>>>>                 fetchnute ( vycitane z hibernate logu).  Ocakaval by
>>>>                 som ze bude nastavene cglib proxy.
>>>>                 pouzivam  hibernate 3.2.3.GA <http://3.2.3.GA>,
>>>>                 java6, spring 2.0.6, cglib-nodep.2.1_3. Fetch a lazy
>>>>                 su nastavene na defaultne hodnoty.
>>>>
>>>>                 Googlil som, skusal som a nepomohlo :| . Hadam ma
>>>>                 niekto z vas nakopne spravnym smerom.
>>>>
>>>>                 Dik.
>>>
>>>
>>
>>
> 
> 
> 

-- 
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic

Odpovedet emailem