I think this is by design, to ensure that the cache is in sync with the actual data in the database.
/G 2015-11-26 22:17 GMT+01:00 Mau80 <[email protected]>: > I've inserted following issue: > > https://nhibernate.jira.com/browse/NH-3837 > > > Il giorno mercoledì 28 ottobre 2015 16:58:45 UTC+1, Mau80 ha scritto: >> >> The problem appears only when I perform insert. Future get works as >> expected. >> I'd like to avoid to fetch data from db after have inserted. >> >> using (var session = sessionFactory.OpenSession()) >> { >> using (var tx = session.BeginTransaction()) >> { >> // item >> Item item = new Item(); >> item.Id = item_guid; >> item.ItemDescription = "ItemNote"; >> >> // bid1 >> Bid bid1 = new Bid(); >> bid1.Id = bid1_guid; >> bid1.Description = "Bid1Description"; >> bid1.Item = item; >> // bid2 >> Bid bid2 = new Bid(); >> bid2.Id = bid2_guid; >> bid2.Description = "Bid2Description"; >> bid2.Item = item; >> >> session.Save(item); >> tx.Commit(); */* 3 INSERT QUERY ON DB */* >> >> } >> using (var tx = session.BeginTransaction()) >> { >> session.Get<Item>(item_guid); * /* NO QUERY ON DB*/* >> tx.Commit(); >> } >> } >> using (var session = sessionFactory.OpenSession()) >> { >> using (var tx = session.BeginTransaction()) >> { >> session.Get<Item>(item_guid); */* 1 SELECT QUERY ON >> DB NOT EXPECTED*/* >> } >> } >> using (var session = sessionFactory.OpenSession()) >> { >> using (var tx = session.BeginTransaction()) >> { >> session.Get<Item>(item_guid); */* NO QUERY ON DB*/* >> } >> } >> >> Thank you >> Maurizio >> >> Il giorno martedì 27 ottobre 2015 17:41:46 UTC+1, Mau80 ha scritto: >>> >>> Hi to all, >>> >>> I am having a problem with NHibernate and 2nd Level Cache trying to >>> retrieve collections. >>> >>> In particular I get a cache miss with collection property (no items >>> contained in collection). Eg: >>> >>> Item have a bag of Bid >>> >>> In my Item entity, I've following property: >>> >>> public IList<Bid> Bids { get; set; } >>> >>> I get cache miss on following (note Model.Core.Item.Bids) >>> >>> *Model.Core.Item.Bids*#60b8b2d6-4e60-489e-bd08-dce224941b6f >>> >>> This is my version of NHibernate: >>> >>> NHibernate 4.0.4 GA >>> NHibernate.Caches.SysCache.dll 4.0.0.4000 >>> >>> Following my mapping >>> >>> <?xml version="1.0" encoding="utf-8" ?> >>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >>>> assembly="Model.Core" >>>> namespace="Model.Core"> >>>> <class name="*Item*" lazy="false"> >>>> <cache include="all" usage="read-write"/> >>>> <id name="Id" type="Guid" >>>> unsaved-value="00000000-0000-0000-0000-000000000000"> >>>> <generator class="assigned" /> >>>> </id> >>>> <property name="ItemDescription" /> >>>> <bag name="Bids" lazy="false" inverse="true" cascade="all"> >>>> <cache usage="read-write"></cache> >>>> <key column="idItem"></key> >>>> <one-to-many class="Bid" /> >>>> </bag> >>>> </class> >>>> </hibernate-mapping> >>> >>> >>> <?xml version="1.0" encoding="utf-8" ?> >>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >>>> assembly="Model.Core" >>>> namespace="Model.Core"> >>>> <class name="*Bid*" lazy="false"> >>>> <cache usage="read-only"/> >>>> <id name="Id" type="Guid"> >>>> <generator class="assigned"/> >>>> </id> >>>> <property name="Description" /> >>>> <many-to-one name="Item" column="idItem" class="Item" lazy >>>> ="false"/> >>>> <set name="BidDetails" lazy="false" fetch="join" inverse="true" >>>> access="property"> >>>> <cache usage="read-write"/> >>>> <key column="idBid"></key> >>>> <one-to-many class="BidDetail" /> >>>> </set> >>>> </class> >>>> </hibernate-mapping> >>> >>> >>> >>> I can provide more info or code sample. >>> >>> Thank you very much >>> Maurizio >>> >>> >>> -- > 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 http://groups.google.com/group/nhusers. > For more options, visit https://groups.google.com/d/optout. > -- 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 http://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
