Do you have a unit test that can demonstrate this problem?
It should be as simple as possible, with only the base minimum to
demonstrate this.
RP
On Wednesday, March 15, 2017 at 1:11:27 PM UTC, Francois Botha wrote:
>
> Please assist me in solving this bug. I'm happy to submit a PR, but as
> that will be my first PR to NHibernate, I'd like to get some feedback from
> the community first.
>
> thanks
>
> On Monday, 6 February 2017 11:48:03 UTC+2, Francois Botha wrote:
>>
>> When inserting an entity that references an entity with assigned id
>> causes exception if that entity as a cache property.
>>
>> Example:
>>
>>
>> <class name="Document" >
>> <cache region="ShortTerm" usage="read-write" />
>> <id name="Name" >
>> <generator class="assigned"/>
>> </id>
>> <property name="Text"/>
>> </class>
>> <class name="Paper">
>> <id name="Id">
>> <generator class="native"/>
>> </id>
>> <property name="Color"/>
>> <many-to-one name="Document" column="DocId" cascade="none" />
>> </class>
>>
>>
>>
>> When inserting a Paper entity using BatchInsert in the stateless session
>> throws Not Supported exception from the Timestamp property on the
>> session (ISessionImplementor).
>>
>> This happens in the end of the IsTransient method (of the
>> AbstractEntityPersister):
>>
>> // check to see if it is in the second-level cache
>> if (HasCache)
>> {
>> CacheKey ck = new CacheKey(id, IdentifierType, RootEntityName,
>> session.EntityMode, session.Factory);
>> if (Cache.Get(ck, session.Timestamp) != null)
>> return false;
>> }
>>
>>
>>
>> I am unsure of the best way to solve the problem. Is there a clean way to
>> check if the session is stateless? That is change the above if statement to
>> something like if(HasCache && !session.IsStateless), doesn't feel like a
>> nice way to handle this though.
>>
>>
>> Using NHibernate 4.1.0.4000 on net452.
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.