First and Second Level caching in NHibernate

I'll try to dive deep into the caching of NHibernate in this article. This post has been inspired by the talk given by Oren Eini (aka Ayende) at the Kaizen Conference in Austin TX.

Caching is a topic that is IMHO only superficially described so far especially regarding the second level cache. Most of the time one finds a lot of information about how to configure a specific cache provider for usage but the real usage (who and when) is not really described. I hope to be able to provide some of the missing pieces with this post.

The full source code used for this post can be found here.

First Level Cache

When using NHibernate the first level cache is automatically enabled as long as one uses the standard session object. We can avoid to use a cache at all when using the stateless session provided by NHibernate though. The stateless session is especially useful for reporting situations or for batch processing. When NHibernate is loading an entity by its unique id from the database then it is automatically put into the so called identity map. This identity map represents the first level cache.
The life-time of the first level cache is coupled to the current session. As soon as the current session is closed the content of the respective first level cache is cleared. Once an entity is in the first level cache a subsequent operation that wants to load the very same entity inside the current session retrieves this entity from the cache and no roundtrip to the database is needed.
One of the main reasons behind this entity map is to avoid the situation that two different instances in memory can represent the same database record (or entity). The NHibernate session object provides us two ways to retrieve an entity by its unique id from the database. There are subtle but important differences between them.

Let's implement an Account class for our samples

public class Account
{
    public virtual int Id { get; private set; }
    public virtual string Name { get; private set; }
    public virtual decimal Balance { get; private set; }
 
    protected Account()
    {
    }
 
    public Account(string name, decimal balance)
    {
        Name = name;
        Balance = balance;
    }
 
    public virtual void Credit(decimal amount)
    {
        Balance += amount;
    }
}

the corresponding XML mapping file is

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   namespace="Caching"
                   assembly="Caching">
  <class name="Account">
    <id name="Id">
      <generator class="hilo"/>
    </id>
    <property name="Name"/>
    <property name="Balance"/>
  </class>
</hibernate-mapping>

Get an entity from database

With the session.Get(id) method we can retrieve an entity from database. If there is no record found in the database with the given id then null is returned.
On the other hand if a record with the given unique id exists in the database then NHibernate loads this record and instantiates a fully populated entity in memory and immediately puts this entity into the entity map (or first level cache)
Assuming that a specific record has already been loaded from database inside the current session then a subsequent Get(id) operation will return the cached entity to the caller. We can see this in the following output produced by the unit test. There is only ONE select statement produced by NHibernate

FistLevelCache

The above output was produced by this unit test

[Test]
public void trying_to_get_the_same_account_a_second_time_should_get_the_account_from_1st_level_cache()
{
    Console.WriteLine("------ now getting entity for the first time");
    var acc1 = Session.Get<Account>(account.Id);
    Console.WriteLine("------ now getting entity for the second time");
    var acc2 = Session.Get<Account>(account.Id);
 
    acc1.ShouldBeTheSameAs(acc2);
}

Load an entity from database

When using the session.Load(id) method NHibernate only instantiates a proxy for the given entity. As long as we only access the id of the entity the entity itself is not loaded from the database. Only when we try to access one of the other properties of the entity NHibernate loads the entity from the database. We can see this clearly in the following output produced by the unit test. I have added some comment to the output to make it easier to verify the result.

Here is a unit test

[Test]
public void trying_to_load_a_non_existing_entity()
{
    var acc1 = Session.Load<Account>(account.Id);
    acc1.ShouldNotBeNull();
    Console.WriteLine("------ now accessing the id of the entity");
    Console.WriteLine("The id is equal to {0}", acc1.Id);
    acc1.Id.ShouldEqual(account.Id);
    Console.WriteLine("------ now accessing a property (other than the ID) of the entity");
    Console.WriteLine("The name of the account is: {0}", acc1.Name);
    acc1.Name.ShouldEqual(account.Name);
}

and the output produced by the above code

FistLevelCache2

Using Load to optimize data access

The behavior mentioned above is especially useful when creating or updating complex entities which have relations to other entities. Assume that the account entity references a customer entity and I want to create a new account for a customer from which I only know its unique id. Then my code might look as follows

var newAccount = new Account("EUR Account 1", 1250m);
newAccount.Customer = Session.Load<Customer>(customerId);
Session.Save(newAccount);

Note that I use the Load method to get the (existing) customer entity. NHibernate will not physically load the customer since in the account table on the database there is only the id of the customer needed (as a foreign key). And as I mentioned above, as long as you only use the id of an entity retrieved with the Load method the corresponding entity is not physically loaded from the database.

Second level cache

The life time of the second level cache is tied to the session factory and not to an individual session. Once an entity is loaded by its unique id and the second level cache is active the entity is available for all other sessions (of the same session factory). Thus once the entity is in the second level cache NHibernate won't load the entity from the database until it is removed from the cache.
To enable the second level cache we have to adjust our configuration file. We have to define which cache provider we want to use. There exist various implementations of a second level cache. For our sample we use a Hashtable based cache which is included in the core NHibernate assembly. Please note that you should never use this cache provider for production code but only for testing. Please refer to the chapter "Second Level Cache implementations" below to decide which implementation fits best for your needs. You won't have to change your code if you change the cache provider though.

We have to add the the following line to the configuration file

    <property name="cache.provider_class">NHibernate.Cache.HashtableCacheProvider</property>

this will instruct NHibernate to use the previously mentioned Hashtable based cache provider as a provider for the second level cache.
Now let's have a look at the following unit test.

[Test]
public void trying_to_load_an_existing_item_twice_in_different_sessions_should_use_2nd_level_cache()
{
    using(var session = SessionFactory.OpenSession())
    {
        var acc = session.Get<Account>(account.Id);
        acc.ShouldNotBeNull();
    }
 
    using(var session = SessionFactory.OpenSession())
    {
        var acc = session.Get<Account>(account.Id);
        acc.ShouldNotBeNull();
    }
}

In the above test we open a first session and load an existing entity from the database. Then we open a second session and try to load the very same entity from the database again. Without a second level cache we would expect that NHibernate loads the entity two times from the database since we are using 2 different sessions and thus the first level cache can not be used to avoid a roundtrip to the database. So let's have a look at the result produced.

SecondLevelCache

Wait a moment - we clearly see two select statements instead of only one. What did we do wrong? This is not an error, no but it's a feature. NHibernate does not enable the second level cache by default, since it would have too many undesired implications. One has to explicitly enable the second level cache. If we add the following statement to the configuration file

    <property name="cache.use_second_level_cache">true</property>

we activate the second level cache. But that is still not enough. We have to also enable our entity to be cached in the second level cache.
This can be done by adding the following statement to the entity's mapping file

    <cache usage="read-write"/>

If we now run the unit test again we obtain the expected result. The entity is loaded only once from the database. The second time it is loaded from the second level cache.
Now if we try to update an entity which is already in the second level cache then this entity should also be automatically updated in the second level cache. The following unit test should prove this behavior.

[Test]
public void when_updating_the_entity_then_2nd_level_cache_should_also_be_updated()
{
    using(var session = SessionFactory.OpenSession())
    using (var tx = session.BeginTransaction())
    {
        var acc = session.Get<Account>(account.Id);
        acc.Credit(200m);
        tx.Commit();
    }
 
    using(var session = SessionFactory.OpenSession())
    {
        var acc = session.Get<Account>(account.Id);
        acc.Balance.ShouldEqual(1200m);
    }
}

and indeed it does as we can see in the test output. Again the entity is loaded from the cache the second time it is requested although it was updated (no select statement after the update statement). The last line in the test code verifies that the entity was indeed updated.
SecondLevelCache2 

Second Level Cache Providers

All second level cache providers are part of the NHibernate contribution. The following list gives as short description of each provider.

  • Velocity: uses Microsoft Velocity which is a highly scalable in-memory application cache for all kinds of data.
  • Prevalence: uses Bamboo.Prevalence as the cache provider. Bamboo.Prevalence is a .NET implementation of the object prevalence concept brought to life by Klaus Wuestefeld in Prevayler. Bamboo.Prevalence provides transparent object persistence to deterministic systems targeting the CLR. It offers persistent caching for smart client applications.
  • SysCache: Uses System.Web.Caching.Cache as the cache provider. This means that you can rely on ASP.NET caching feature to understand how it works.
  • SysCache2: Similar to NHibernate.Caches.SysCache, uses ASP.NET cache. This provider also supports SQL dependency-based expiration, meaning that it is possible to configure certain cache regions to automatically expire when the relevant data in the database changes.
  • MemCache: uses memcached; memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. Basically a distributed hash table.
  • SharedCache: high-performance, distributed and replicated memory object caching system. See here and here for more info

Saving a transient entity

Lately the following question came up in the NHibernate user list. "When I create a transient object and then save it to my session and
commit to my database, should it be added to my second level cache as well?" The answer is of course YES. Let's write a unit test

[TestFixture]
public class when_saving_a_transient_account : FixtureBase
{
    private Account newAccount;
 
    protected override void Context()
    {
        base.Context();
        using (var session = SessionFactory.OpenSession())
        using (var tx = session.BeginTransaction())
        {
            newAccount = new Account("CHF Account", 5500m);
            session.Save(newAccount);
            tx.Commit();
        }
    }
 
    [Test]
    public void account_should_be_in_second_level_cache()
    {
        using (var session = SessionFactory.OpenSession())
        {
            Console.WriteLine("--> Now loading account");
            var acc = session.Get<Account>(newAccount.Id);
            acc.ShouldNotBeNull();
            acc.Name.ShouldEqual(newAccount.Name);
        }
    }
}

In the method Context I create and save a new account entity. In the test method I open a new session and try to load the previously created entity from database. I now expect that NHibernate should take the entity out of the second level cache. And indeed it does. This is the resulting output

SecondLevelCache3

as we can see, no select statement is sent to the database when the entity is loaded from a new session after it has been created and saved beforehand.

Inside the second level cache

An important point is that the second-level cache does not cache instances of the object type being cached; instead it caches the individual values of the properties of that object. This provides two benefits. One, NHibernate doesn't have to worry that your client code will manipulate the objects in a way that will disrupt the cache. Two, the relationships and associations do not become stale, and are easy to keep up-to-date because they are simply identifiers. The cache is not a tree of objects but rather a map of arrays.

If you are interested in some more details about the inner workings of the second level cache then the following text (taken from Ayende and only slightly edited by me) will be of interest to you:

NHibernate is design as an enterprise OR/M product, and as such, it has very good support for running in web farms scenarios. This support include running along side with distributed caches, including immediate farm wide updates.  NHibernate goes to great lengths to ensure cache consistency in these scenarios...

The way it works, NHibernate keeps three caches.

  • The entities cache - the entity data is disassembled and then put in the cache, ready to be assembled to entities again.
  • The queries cache - the identifiers of entities returned from queries, but no the data itself (since this is in the entities cache).
  • The update timestamp cache - the last time a table was written to.

The last cache is very important, since it ensures that the cache will not serve stale results.

Now, when we come to actually using the cache, we have the following semantics.

  • Each session is associated with a timestamp on creation.
  • Every time we put query results in the cache, the timestamp of the executing session is recorded.
  • The timestamp cache is updated whenever a table is written to, but in a tricky sort of way:
    • When we perform the actual writing, we write a value that is somewhere in the future to the cache. So all queries that hit the cache now will not find it, and then hit the DB to get the new data. Since we are in the middle of transaction, they would wait until we finish the transaction. If we are using low isolation level, and another thread / machine attempts to put the old results back in the cache, it wouldn't hold, because the update timestamp is into the future.
    • When we perform the commit on the transaction, we update the timestamp cache with the current value.

Now, let us think about the meaning of this, shall we?

If a session has perform an update to a table, committed the transaction and then executed a cache query, it is not valid for the cache. That is because the timestamp written to the update cache is the transaction commit timestamp, while the query timestamp is the session's timestamp, which obviously comes earlier.

The update timestamp cache is not updated until you commit the transaction! This is to ensure that you will not read "uncommitted values" from the cache.

Please note that if you open a session with your own connection, it will not be able to put anything in the cache (all its cached queries will have an invalid timestamp!)

In general, those are not things that you need to concern yourself with, but I spent some time today just trying to get tests for the second level caching working, and it took me time to realize that in the tests I didn't used transactions and I used the same session for querying as for performing the updates.

Collections and the second level cache

Let's assume the following scenario: we have a blog which can have many posts. See the diagram below.
Blog diagram
The corresponding code to define the entities is as follows

public class Blog
{
    public virtual int Id { get; set; }
    public virtual string Author { get; set; }
    public virtual string Name { get; set; }
    public virtual IList<Post> Posts { get; set; }
 
    public Blog()
    {
        Posts = new List<Post>();
    }
 
}
 
public class Post
{
    public virtual int Id { get; private set; }
    public virtual string Title { get; set; }
    public virtual string Body { get; set; }
}

and we can define the mapping of the blog and the post entity like this

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                   namespace="Caching"
                   assembly="Caching">
  <class name="Blog">
    <cache usage="read-write"/>
    <id name="Id">
      <generator class="hilo"/>
    </id>
    <property name="Author"/>
    <property name="Name"/>
    <bag name="Posts" cascade="all" lazy="true">
      <cache usage="read-write"/>
      <key column="BlogId"/>
      <one-to-many class="Post"/>
    </bag>
  </class>
  
  <class name="Post">
    <cache usage="read-write"/>
    <id name="Id">
      <generator class="hilo"/>
    </id>
    <property name="Title"/>
    <property name="Body"/>
  </class>
</hibernate-mapping>

Note that I have added a <cache> element to the mapping for the Blog entity. This is enough to cache all simple Blog property values (e.g. Id, Name and Author) but not the state of associated entities or collections. Collections require their own <cache> element. In our case I added a <cache> element to the Posts collection (which is mapped as a bag). This cache will be used when enumeration the collection blog.Posts, for example. Please be aware that a collection cache only holds the identifiers of the associated post instances. That is, if we have a blog with three posts having id's 1,2 and 3 respectively then the second level cache will contain the values of simple properties of the blog and in addition an array with the ids {1,2,3}. If we require the post instances themselves to be cached, then we must enable caching of the Post class by adding a <cache> element to it's mapping.

Let me resume: by adding a <cache> element to the Blog, the Posts collection and the Post itself I have declared that I want NHibernate to cache not only my blog entities but also the associated Post collection in full detail.

Attention: dragons ahead

A common error (It happened to me as well!) is to forget to commit or omit a transaction when adding or changing an entity/aggregate to the database. If we now access the entity/aggregate from another session then the 2nd level cache will not be prepared to provide us the cached instances and NHibernate makes an (unexpected round trip to the database). The reason why this is the case is described in the chapter "Inside the second level cache" above.

What does this mean? Let's have a look at the code I use to setup the context for our unit tests regarding the Blog-->Posts problem.

blog = new Blog{ Author = "Gabriel", Name = "Keep on running"};
blog.Posts.Add(new Post{Title = "First post", Body = "Some text"});
blog.Posts.Add(new Post { Title = "Second post", Body = "Some other text" });
blog.Posts.Add(new Post { Title = "Third post", Body = "Third post text" });
using (var session = SessionFactory.OpenSession())
using(var tx = session.BeginTransaction())
{
    session.Save(blog);
    tx.Commit();        // important otherwise caching does NOT work!
}

In the above code I create a new blog having three assigned posts. The blog instance is then saved to the database inside a transaction. If I would omit the transaction or if I would forget to commit the transaction then the above samples would not work as expected and the 2nd level cache would not be used as desired.

Caching queries in the second level cache

We cannot only cache entities loaded by their respective unique id but also any query. For this we have to define the query as cacheable and set the desired cache mode. Let's have a look at a typical sample

[Test]
public void trying_to_cache_a_query()
{
    using (var session = SessionFactory.OpenSession())
    {
        Console.WriteLine("---> using query first time");
        var query = session
            .CreateQuery("from Blog b where b.Author = :author")
            .SetString("author", "Gabriel")
            .SetCacheable(true);
        var list = query.List<Blog>();
    }
    using (var session = SessionFactory.OpenSession())
    {
        Console.WriteLine("---> using query second time");
        var query2 = session
            .CreateQuery("from Blog b where b.Author = :author")
            .SetString("author", "Gabriel")
            .SetCacheable(true);
        var list2 = query2.List<Blog>();
    }
}

In the above sample I use the same query from different sessions. Please not that I have set cacheable to true for the query. In this case the query will be cached in the second level cache the first time it is executed. Any subsequent calls using the very same query will not hit the database. It is important to note however that if I change the value of the parameter(s) in the query then the query is reloaded again from the database. So it is the query and the set of parameter values that define the key under which the query is stored in the 2nd level cache.

The result of the above test looks as follows

 CachQuery1 

Of course I can also use named queries and cache them. A named query is defined inside a mapping file, e.g.

<query cacheable="true" cache-mode="normal" name="query1">
  <![CDATA[from Blog b where b.Name like :name]]>
  <query-param name="name" type="String"/>
</query>

The above query is called "query1" and has a single parameter called "name". The cache mode for this query is set to "normal". I can use such a query as follows

[Test]
public void trying_named_query()
{
    using (var session = SessionFactory.OpenSession())
    {
        Console.WriteLine("---> using named query first time");
        var list = session.GetNamedQuery("query1")
            .SetString("name", "Keep%")
            .List<Blog>();
    }
    using (var session = SessionFactory.OpenSession())
    {
        Console.WriteLine("---> using named query second time");
        var list2 = session.GetNamedQuery("query1")
            .SetString("name", "Keep%")
            .List<Blog>();
    }
}

The session object has a method GetNamedQuery to retrieve the query. The output produced by the above test is then

CachQuery2
If the content of the table on which the cached query is based is changed then the query is evicted from the second level cache and the next time the query is executed the query must be reloaded.

Cache Regions

If we don't use cache regions the second level cache can only be cleared as a whole. If you need to clear only part of the second level cache then use regions. Regions are distinguished by their name. One can put any number of different queries into a named cache region. The command to clear a cache region is as follows
    SessionFactory.EvictQueries("My Region");
where SessionFactory is the session factory instance currently used and "My Region" is the name of the cache region.

Source Code

The full source code used for this post can be found here.

Summary

NHibernate provides two types of caches. The first level cache and the second level cache. The first level cache is also called the identity map and is used not only to reduce the number of round trips to the database to improve the speed of an application but also to guarantee that there do not exist two distinct instances of an object having the very same id. NHibernate provides us two methods to load an entity by its unique id from the database. The Get method returns null if an entity with the given id does not exist or returns the fully loaded entity to the caller. The Load method on the other hand returns a proxy to the caller and only loads the entity from the database if another property than the identity is accessed. One can also call this a deferred load.

The second level cache is not used by default and should be used with caution. It can provide a huge scalability gain if used wisely but also reduce the performance of the overall system and introduce unnecessary complexity if used wrong.

The second level cache is related to the session factory, that is all session instances of a given session factory use the same 2nd level cache. That's differs from the behavior of the 1st level cache which is related to an individual session instance. One can cache individual entities or whole aggregates in the 2nd level cache. But one can also cache (complex and/or time consuming) queries in the 2nd level cache. The 2nd level cache can be fragmented into regions for a more fine grained control.

Enjoy.

Blog Signature Gabriel

Print | posted on Sunday, November 09, 2008 5:57 AM

Comments on this post

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks, that's very useful article.
Left by Nik Govorov on Nov 09, 2008 9:00 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
very well done, thanks!
Left by vbedegi on Nov 09, 2008 9:03 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks for this. Great stuff!

It is well-explained and a very handy reference for an under-documented feature.
Left by Steven Burman on Nov 09, 2008 9:33 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Very nice write, thanks for taking the time to do this.
Left by Josh Berke on Nov 10, 2008 3:02 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks for all the great posts. You write about difficult subjects in such a clear manner that even I can understand them!!

Brialliant
Left by Remmus on Nov 12, 2008 12:41 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Excellent article and thanks for such a well-thought out document for something that was certinaly lacking this type of documentation.

There is one issue, though.

"NHibernate does not enable the second level cache by default, since it would have too many undesired implications."

This is not true. It is enabled by default.
Left by Doc on Nov 17, 2008 4:12 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Very nice article

I've got one remark though about the section:
Caching queries in the second level cache

you forgot to mention that you have to change the configuration file for this and add following section to it.
true

You did add it in your source code, but not in the documentation.
Left by Joel Rewers on Nov 20, 2008 12:42 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
sorry, forgot to escape the xml tags... anyway, you have to set the 'cache.use_query_cache' option to true in the hibernate config file
Left by Joel Rewers on Nov 20, 2008 9:39 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Hi,

First of all, really nice article. Really clears some things up. One thing that I can't seem to get working though. When I try to save a transient entity and retrieve it back from the session, NHibernate always seems to issue a query to the DB instead of retrieving the data of the entity from the second-level cache.

I downloaded your code, but I can't find any difference between the configuration of the your sample and mine.

Any thoughts? I'd like to send you my sample code if you want? Thanks in advance.


Left by Jan Van Ryswyck on Nov 22, 2008 12:22 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I found the reason why transient entities are not always put in the second level cache:

elegantcode.com/.../nhibernate-fact-when-saving...
Left by Jan Van Ryswyck on Nov 24, 2008 1:50 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks for the excellent post.
Left by Ali Ozgur on Jan 07, 2009 8:51 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I think there is something wrong with your caching related tests, since we do not really test if we retrieved our object from cache.
I've developed a custom log4net appender which enables you to really test if the object was retrieved from Level2 cache. Check out this blog post for source code and other details.

Writing NHibernate Level2 cache usage tests
Left by Ali Ozgur on Jan 15, 2009 10:18 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
@Ali: did you double check it with NHibernate Profiler (of Ayende: http://nhprof.com/)? The profiler should show you the cache hits.
Left by Gabriel N. Schenker on Jan 21, 2009 1:38 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
NHProf can not be automated for testing as far as I know. I do not want to see the cache hits , I want to TEST for cache hits.
Left by Ali Ozgur on Jan 24, 2009 9:17 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...



This post gave us a major Brainstorm session of all the possibilities we can utilize on our blog.
Left by Jeff Paul Scam on Mar 04, 2009 7:21 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks so much for this! I´ve been evaluating Hibernate Caching for almost a week now and this article answered my last remaining questions.
Left by Patrick Kranz on Mar 26, 2009 7:19 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Hi,

First of all, thanks for this great explaination of the cache. However this is something not entirely clear to me.

In the scenario i'm working in, the DAL is in a DLL which is used in several applications (web site for reporting, Windows Service for backend processing, guid client for internal users)

Now i'm running into trouble actions are done on the same object in different applications (cache in service does not reflect changes done in WinForms .. logically).. so my question would be: if i implement 2nd level cache and make it a centralized cache, will nhibernate ignore local first level cache ? Because that way all applications would "know" about changes done by the other application(s)...
Left by Michel Van Hoof on Jul 01, 2009 7:51 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
thanks!

Now, I really understood the difference between these 2 methods! This is a really good written article!
Left by dann on Jul 12, 2009 3:18 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Quality article man. Thanks very much!
Left by Paul Campbell on Sep 04, 2009 2:18 AM

# NHibernate Performance and scalibility

Requesting Gravatar...
there is a great 2nd level cache for nhibernate called NCache. you can see more details at NCache for Nhibernate
Left by Kevin Clark on Sep 09, 2009 9:26 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Can you please elaborate on: Please note that if you open a session with your own connection, it will not be able to put anything in the cache (all its cached queries will have an invalid timestamp!)

does that mean if one specifies Isession.Connection? Though i am not doing this, I see frequent calls to the db... I have added the appropriate properties on the cfg, and sprinkled cache usage tags along my mapping files, but i still see the same queries in profiler.

Why lord WHY???
Left by tonester on Oct 06, 2009 6:26 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Hi,
Firstly very good explaination, thanks a lot. Secondly i do come up with some questions, a Blog has many Post, so you have a bag of Posts mapped from Blog, assume that if both entity are in the second cache already and now i would like to add a new Post for that blog via a normal session.SaveOrUpdate(mypost) without saving it from the Blog, in this case when we next time try to retrieve the blog.Posts, will it return the new Post that i just added? If the FK list will not be included, is it mean we will always need to save the Post via Blog? what happen if the Blog has no change at all, will NHibernate do a update to DB anyway or it will just ignore it since it detectes there is no change?
regards
Yang
Left by Yang Ma on Oct 11, 2009 12:09 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Hi,

I think the Session.Load example that you written above is no longer valid.

I'm using the latest NHibernate version and I tested the Session.Load with my Profiler running side-by-side. Session.Load will always load the object from the DB in my code.
Left by Knave on Nov 15, 2009 8:53 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
One of the main reasons behind this entity map is to avoid the situation that two different instances in memory can represent the same database record (or entity). The NHibernate session object provides us two ways to retrieve an entity by its unique id from the database. There are subtle but important differences between them.
Left by Orkut Greetings on Nov 16, 2009 10:48 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
That is an absolutely fantastic explanation of NHibernate caching. Thankyou.
Left by Simon on Nov 20, 2009 12:40 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great graphical presentation. Elite and pro. Saved and bookmarked.
Left by credit debt consolidation on Nov 25, 2009 8:01 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Configuration management database (CMDB) using visualization and cloud computing.that maintaining the mappings between the virtual configuration and the physical configuration is one of the key features to implementing the CMDB in the Cloud..
Left by best bingo promotions and offers on Nov 27, 2009 8:07 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
The life-time of the basic train fund is linked to the flowing conference. As shortly as the live meeting is unreceptive the cognition of the individual gear destruct stash is improved. Erst an entity is in the foremost surface buffer a future work that wants to laden the very synoptical entity inner the rife conference retrieves this entity from the store and no roundtrip to the database is necessary.
Left by sydney removalists on Dec 10, 2009 5:35 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks a lot - it's really good article :)
Left by Alex on Dec 19, 2009 6:36 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
As shortly as the live meeting is unreceptive the cognition of the individual gear destruct stash is improved. Erst an entity is in the foremost surface buffer a future work that wants to laden the very synoptical entity inner the rife conference retrieves this entity from the store and no roundtrip to the database is necessary.
Left by pandora jewelry on Dec 24, 2009 11:50 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks for greatest materials.
Left by Fast web design on Dec 30, 2009 8:04 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
ok thats how
Left by make money online on Jan 16, 2010 1:19 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks a lot ...
Left by ducsonek on Jan 17, 2010 3:32 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
asafdd
Left by tiffany on Jan 20, 2010 2:05 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
very pleasure to visit this site. nice post. thanks for sharing.
Left by registry cleaner download on Jan 20, 2010 8:52 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
That was a very fine explanation by you on caching. I didn't know so much went into server technology and how much my tech has to know to stay abreast.
Left by Termites on Jan 22, 2010 4:48 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
ok thats how
Left by pandora jewelry on Jan 28, 2010 1:52 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Now, I really understood the difference between these 2 methods! This is a really good written article! So thanks for it.That is an absolutely fantastic explanation of NHibernate caching.I didn't know so much went into server technology and how much my tech has to know to stay abreast.
Left by casino gratuit sans telechargeme on Feb 02, 2010 5:16 PM

# re: First and Second Level caching in NHibernate

Left by 25th Wedding Anniversary on Feb 02, 2010 10:55 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Your RSS feed doesn't work in my browser (google chrome) how can I fix it?
lingerie
Left by lingerie on Feb 05, 2010 10:17 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Try using firefox browser.

cleaning london
Left by duckworth on Feb 06, 2010 12:25 AM

# humidifier

Requesting Gravatar...
humidifier humidifier
washing machines washing machines
steam press steam press
acer laptop battery acer laptop battery
professional seo company professional seo company
make money online make money online
cheap wireless mouse cheap wireless mouse
get your ex back get your ex back
cold air intake cold air intake
no credit check payday loans no credit check payday loans
payday loan information payday loan information
cold air intake kits cold air intake kits
Left by hbob mu on Feb 06, 2010 5:27 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I’ve been most successful using your last suggestion. Nothing else has worked. I’m unable to “stack” these for some reason, so I’d love to figure that out, but thanks for the tips so far. custom essays
Left by Ben on Feb 07, 2010 1:11 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Your jewellery will be more pandora jewellery durable and more pandora jewellery beneficialpandora jewelryto your eyes if you care the following tips in our daily lives. Always wear the jewellery:, so they often wear pandora jewelleryand pandora beads jewellery. Actually, Some myopes are worried that wearing jewellery will deepen pandora jewellery the myopic degree pandora beads to see things squint when this worry is needless. You need to know wear pandora braceletsto pandora beads, slow down pandora beads the development of pandora beads myopia. pandora beads pandorawill be in a state of overstrain and If you often pandora beads wear off frequently, not wear, over time, make ciliaris. pandora rings, and eyes will be in a state of over-regulation causing spasm, which brings about degrees deepen.
Left by pandora on Feb 07, 2010 7:38 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I’ve been most successful using your last suggestion.
Left by UGG sale on Feb 07, 2010 10:21 PM

# re: First and Second Level caching in NHibernate

Left by Christy Turlington on Feb 07, 2010 11:43 PM

# re: First and Second Level caching in NHibernate

Left by Christy Turlington on Feb 07, 2010 11:44 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great info. I wasn't sure the test:
[Test]
public void trying_to_load_an_existing_item_twice_in_different_sessions_should_use_2nd_level_cache()
{
using(var session = SessionFactory.OpenSession())
{
var acc = session.Get(account.Id);
acc.ShouldNotBeNull();
}

using(var session = SessionFactory.OpenSession())
{
var acc = session.Get(account.Id);
acc.ShouldNotBeNull();
}
}
[/TEST]
Would work.

Left by Ardit121 on Feb 08, 2010 7:48 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
[url=http://www.uggs-store.org]ugg boot[/url]
[url=http://www.ugg-boots-store.net]cheap ugg[/url]
[url=http://www.watchesxm.com]cheap watches[/url]
[url=http://www.uggbootsdiscount.net]discount ugg[/url]
[url=http://www.ugg-outlet-store.com]uggs outlet[/url]
[url=www.shoesucn.com/news/nike-outlet/nike-outlet.html]nike outlet[/url]
Left by ugg boot on Feb 08, 2010 6:58 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Hey mate I just have to thank you for taking the effort and putting up screenshots. I makes it much easier to understand.
Left by Worpress Themes on Feb 10, 2010 9:33 AM

# re:

Requesting Gravatar...
Hi. This post has resolved many of my issues. Thank you very much for the detailed explanation. Great Article !

25th Wedding Anniversary
Left by Eric James on Feb 11, 2010 12:59 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I will definitely have to test this at work. I think this is going to work well.fort lauderdale truck accident lawyer
Left by james lee on Feb 11, 2010 6:04 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
thanks helped me alot
Left by watches uk on Feb 13, 2010 11:34 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
thanks for the insightful article
Left by watches uk on Feb 14, 2010 10:11 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I'm still a little lost with NHibernate first and second level caching.
Left by Heathrow Parking on Feb 15, 2010 4:51 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Then come to coo links for delicate Links of London Necklace inspired jewelries with the theme of love & brilliant and
links of london sweetie bracelet thoughtful men.
Left by linksoflondon00000 on Feb 15, 2010 8:25 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
We will be victorious! All this tells me is that I'll need a C# program to apply for anything Government related. I'd be better off reading about a Star Trek Online Review and use that information to buy some open-e dss storage. Then, after I complete that, I'll read some Video Game News about how Blizzard has started to look down upon WOW Private Servers which means I would have to get some SEO Marketing in order to find a provider that will fill my needs. Good Time
Left by War Wizard on Feb 17, 2010 7:18 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This is really tough to swallow. long island limousines new york limos limos in new york
Left by suzzy on Feb 17, 2010 4:55 PM

# re: First and Second Level caching in NHibernate

Left by masini on Feb 18, 2010 6:44 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This article is better than those in textbooks. Super complex stuff, amazing.
Left by Lasik facts on Feb 19, 2010 4:34 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Very extensive and detailed and helped me tremendously.
Left by Exercise Shorts on Feb 20, 2010 7:14 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This helped me with a couple issues I was having. Great post.
Left by Titan Peeler on Feb 20, 2010 7:16 AM

# re: First and Second Level caching in NHibernate

Left by pandora jewelry on Feb 21, 2010 2:36 PM

# it's funny

Requesting Gravatar...
In fact, some people kill for a the designers or those who already the rounds of thrift shops. Undoubtedly much value is in an authentic Gucci Bags, or 15 years or 15 minutes old.Gucci Louis VuittonGucci Shoes and Louis Vuitton Shoes started with a small luggage and saddlery company in Florence, where they sell leather that are produced exclusively by artisans of Florence. The entitlement to seek international supportCustomer opens Discount Gucci Handbags Louis Vuitton Handbags i another company, this time in Via Condotti in Rome. Although very popular with Consumers, it was not until 1947 that the first Gucci UK and Louis Vuitton UK reached icon the state with the bag until you have a bamboo handle. The bag was introduced by Gucci Bags Discount, was a great success with the icon of the Gucci Shoulder Bag and Louis Vuitton BagBelt lines deriv>ed from the circle. The symbol LV of the tape strips is so special Louis Vuitton Outlet and so identified with Gucci products, whetherBags or clothing that has been done in a Brand .Another symbol of Gucci Purses and Louis Wallet was introduced some years after LV UK Moccasin handbag with metal spikes.Gucci Handbags Sale.fix it
Left by louis vuitton on Feb 21, 2010 3:18 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...

Stop Snoring


Stop snoring today! Look for the best snoring solutions online. We have guides to the snoring remedies and cures for snoring. Snoring is a sound generated during sleep when the roof of the mouth vibrates. Find some great tips to help you stop snoring remedies. Learn stop snoring remedies now!

Acne Treatment



Look for the latest acne treatment - find out which is good for you. Do you know what are the Best Acne Treatment? Top acne treatments that work for skin care. Study articles and find information to get rid of acne! Let's try out the best acne treatment today!

Color laser printers reviews



The best color laser printer reviews on the net. Laser printers look especially vivid with color documents, With these best small office color laser printer top color laser printers, research & Compare Printers Reviews, Deals, Coupons & Pricing!

Back Pain Relief



Get upper back pain & lower back pain relief quickly & easily. Discover simple yet effective chronic back pain treatment remedies and exercises that really work.
Left by Wilson on Feb 21, 2010 4:10 PM

# re: First and Second Level caching in NHibernate

Left by cheap picture frames on Feb 22, 2010 5:46 PM

# re: First and Second Level caching in NHibernate

Left by cheap picture frames on Feb 22, 2010 6:16 PM

# re: First and Second Level caching in NHibernate

Left by custom essay writing on Feb 22, 2010 10:22 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
great post!
Left by horoscope on Feb 23, 2010 1:03 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Your feedback is explicit
Left by voyance on Feb 23, 2010 1:06 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
thank you for this information but complicates stinks
Left by voyance on Feb 23, 2010 1:11 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
great share thanks for this
Thesis | Dissertation | Essay | Assignment
Left by james on Feb 23, 2010 5:47 PM

# ro zeny

Requesting Gravatar...
Do you knowro zeny?if you play the online game,you will knowbuy ro zenyis the game gold.in the game,if you had moreiro zeny,you will had a tall level.but if you want toRagnarok zeny.you can come here and spend a little money to boughtRagnarok online zeny
Left by ro zeny on Feb 24, 2010 1:34 PM

# re: First and Second Level caching in NHibernate

Left by Data Recovery Software on Feb 24, 2010 3:59 PM

# discount ed hardy women long sleeve shirts sales online

Requesting Gravatar...
YS0225A5 If you think you are beaten, you e! If you think you dare noted hardy clothing, you don't! If you want to win but think you can't, It's almost a cinch you won't ed hardy hoodies! If you think you'll lose,you're lost! For out of the world we find.Success begins with a fellow's will,It's all in a ed hardy shirts state of mind! Life's battles don't always go.To the stronger and faster ed hardy coats man,But sooner or later the man who wins,Is the man who thinks he can! When You Belive http://www.edfashionclothes.com/,Many night we've prayed!With no proof anyone could hear!In our heart a hopeful moncler online store song,we barely understood!Now we are not afraid !Although we know there's much to fear!We were moving the moncler jackets mountian long,Before we knew we could!There can be miracles!
Left by discount mens moncler down coat on Feb 24, 2010 9:54 PM

# discount Ugg Broome Boots in chestnut leather online sales

Requesting Gravatar...
YS0225A8 Before there was no reason in the world,As now there is!The moncler jackets course of water was my only course,My repetitions oceans' sough and swell ugg adirondack boots!My seasons pleasurable,Befos no reason in the world,As now there is ugg broome boots!To measure time from sleep I rose to sleep,To measure space I pastured on surprise http://www.edhardy-buy.com/,O meadows of resemblances,I was the grove on whose mosaic floors,The moncler online seeds of otherwise were spent,My gods had many arms,I was the Caesar of unmarshaled grass ugg boots!Faustus in the branches,My first ambitions were my sorrows long!Before there was no reason in the world,As now there is!
Left by discount womens moncler jacket on Feb 24, 2010 10:38 PM

# discount air jordan shoes 23 sales online

Requesting Gravatar...
YS0225A7 when the sun hugs the moon, the sky clses her eyes.when the sun hug the moon the sea quiet her jordans shoes.when the sun hugs the moon,the forest stops her susurrus.when the sun hugs the nike sb dunk high,the desert hodlds hr breathe.Thousands of years's waiting is only for this nike acg shoes moment.Never be disappointed.Never give up.It hax been sucha long time.At nike air max 2003 this momentmeet each other in course of time.Do not cry,Moon.I guard you forever.Cause you are in my life,everyting has its meaning.The fascinating Diamond Ring,is the ring i give you,May it give you warm http://www.nikejordanshoes2sell.com/ threduce your tears.Do not cry,Sun,I will be there with you forever/Meeting you has given me precious memeory.The resplendent Baily Beads.is the gem i give you .May i give you cheap air jordan 22 shoes strength, shine in your morning.Meet soon and part soon.It makes peop;e retrospect in spite of lasting a few minutes.A long times waiting is coming.Don't know when the next meeting is .When the sun hugs the Moon. the Moon hugs the sun as well Hugging tightly,regian the lost nicety.
Left by discount nike air max shoes sale on Feb 24, 2010 10:39 PM

# discount air jordan shoes 25 sales online

Requesting Gravatar...
YS0225A6 When you belive,Thogh hope is frail.It's hard to kill,Who knows what cheap prada shoes miracles,You can achieve,When you belive! Somehow you will,

You will when you belive new nike air max!And in this time of fear, When prayer so often proves in vain, Hope seems like the http://www.nikeaf1jordanshoes.com/summer birds. Too swiftly flown away, And now I am standing wholesale gucci shoes here.My heart's so full I can't explain.Seeking faith and speaking women's nike shox words I never thought I'd say, They don't always happen when you ask authentic air jordan shoes.And it's easy to give in to your fear. But when you're blinded by your pain!
Left by discount mens moncler down coat on Feb 24, 2010 10:40 PM

# discount christian louboutin sandals online sales

Requesting Gravatar...
YS0226A1 That your heart has been broken,Hear the words,I'm here, my chid,;And know your christian louboutin uk angel has spoken.For even in the darkest hour,When all of discount louboutin shoes hope seems gone,They'll give you strength to live your life,And desire to go on.And if your faith in Heaven, Should ever fade away,They'll help renew your christian louboutin boots spirit, And help you find your way.Even though you're ever filled with doubt, About the christian louboutin pumps life you live,Know that they are there to give you All that they can give.For you see, the Father sent them,Because to Him, you mean so much,That He sent them just for you,my louboutin sale friend,And your life, they will touch.They will always be here,They will never leave your http://www.christianlouboutinshoestore.com/ side;And upon their strength and guidance,You always may rely.Take comfort in their guidance, Draw strength from up above,And know that their sweet presence,Is God's precious gift of love.
Left by cheap christian louboutin shoes on Feb 25, 2010 2:59 PM

# discount women's ugg elsey boots 5596 sales online

Requesting Gravatar...
YS0226A2 If I were a by again, I would practice perseverance more often, and never give up a thing because it was ugg australia boots or inconvenient. If we want light, we must conquer darkness. Perseverance can sometimes equal genius cheap ugg boots in its results. “There are only two creatures,” syas a proverb, “who can surmount the pyramids—the eagle and the snail.” If I were a uggs sale boy again, I would school myself into a habit of http://www.topsnowboots.com/ attention; I would let nothing come between me and the subject in hand. I would remember that a good skater never tries to skate in two ugg cardy boots directions at once. The habit of attention becomes part of our life, if we begain early enough. I often hear cheap gucci shoes grown up people say “ I could not fix my attention on the sermon or ugg coquette book, although I wished to do so” , and the reason is, the habit was not formed in youth.
Left by cheap ugg upside boots 5163 on Feb 25, 2010 3:02 PM

# discount Women's ugg adirondack boots II sales online

Requesting Gravatar...
YS0226A3 Hold fast dreams.For if dreams die. Life is a broken-winged bird,That ugg australia boots can never fly.Hold fast to dreams. For when dreams go,Life is a barren ugg tall boots field, Frozen only with snow !You never know until you try; And you never try unless you really try ugg cardy boot. You give it your best shot; You do the best you can. And if you have done everything http://www.uggsnowbootsbest.com/! In your power,and still,The truth of the uggs argyle knit matter is! That you haven\'t failed at all.When you reach for your dreams,No matter what ugg boots they may be,You grow from the reaching;You learn from the trying;You win from the doing.
Left by cheap ugg classic cardy boots on Feb 25, 2010 3:06 PM

# discount reebok nfl jerseys online sales

Requesting Gravatar...
YS0226A4 A true fried is someone who reaches for your hand and touches your cheap hockey jerseys heart.There's always going to be people that hurt you,so what you have to do is keep on trusting nfl jerseys and just be more careful about who sport jerseys you trust next time around.Make youself a better person and know who you are discount nba jerseys before you try and know someone else and expect them to know you mlb jerseys on sale.Remember:Whatever happens,happens for a reason.How many people actually have 8 true http://www.nfljerseymlb.com/friends Hardly anyone I know.But some of us have all right friends and good friends.
Left by cheap adiads nba jerseys sale on Feb 25, 2010 3:09 PM

# discount ugg sienna miller boots 5818 sales online

Requesting Gravatar...
YS0226A9 Unwearied ill, lover by lover,They paddle in the cold,Companionable ugg australia shoes streams or climb the air;Their hearts have not grown old;ugg coquette Passion or conquest, wander where they will, Attend upon them still ugg adirondack boots. But now they drift on the still water, Mysterious, beautiful; Among what http://www.uggboots4buy.com/ rushes will they build, By what lake’s edge or pool,Delight men’s mbt shoes eyes when I awake some day.To find they have flown uggs classic cardy away?Before there was no reason in the world As now there is I was the bough bent easy by a ugg boots bird I was the vague blue-grazing flock The sleeping and invisible!
Left by cheap women's ugg elsey boots on Feb 25, 2010 3:13 PM

# discount mens air jordan shoes 13 online sales

Requesting Gravatar...
YS0226A10 When you are ld and gray and full of sleep,And nodding by the moncler jackets fire, take down this book! And slowly read jordans sheoes , and dream of the soft look,Your eyes had once, and of their cheap nike shoes shadows deep;How many loved your moments of glad grace,And loved your beauty with nike air force 1 love false or true; But one man loved the pilgrim soul in you,And http://www.onestop-onlineshopping.com/ loved the sorrows of your changing face; And bending down beside the designer clothing glowing bars,Murmur, a little sadly, how love fled.And paced upon the mountains overhead discount air jordan shoes,And hid his face amid a crowd of stars.
Left by cheap nike air max 90 online on Feb 25, 2010 3:23 PM

# discount louis vuitton damier canvas handbags online sales

Requesting Gravatar...
YS0226A11 Surrounding ou are angels,They are there to guide your path.If designer purses weaesskn overcomes you,They'll give you strength if you will ask. They are your protection.When discount designer bags on sale life seems too hard to bear,And though you feel alone at times, The louis vuitton 2009 angels ... they are there.Their faces may be hidden And their voices you might not hear,But they are ALWAYS with you,Through your laughter or your tears.http://www.handbags4buy.com/ They'll walk along beside you,They'll guide your leather handbags steps along the way, They'll comfort you and hold you,Protect you dior handbags night and day.They'll hold to your hand tightly ,They'll not ever let it go,And they'll gently lead you cheap designer handbagsforward,Taking each step very slow.For even as you slumber,They watch closely over you;They are there beside you. In each and every thing you do.
Left by cheap nike air max 90 online on Feb 25, 2010 3:26 PM

# re: First and Second Level caching in NHibernate

Left by blogmadog on Feb 26, 2010 3:32 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Good job! THANKS! You guys do a great website, and have some great contents. Keep up the good work.
best regards,
เอเจล ซีรีย์เกาหลี ซีรีย์เกาหลี ปุ๋ย onitsuka เสื้อ รถมือสอง บาชิ
Left by online advertising on Feb 26, 2010 6:27 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great stuff
Left by Beanbag Chairs on Feb 26, 2010 4:19 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Support by UK shopping links of London earrings was intuitive and nowadays we have matured internationally with stores in 1990.links of londonThe party resulted from a clean exact for her wife, links londonJohn Ayton, founded the jewelry mark,links of london sale Links of London. Relations of London were founded in the UK
Left by links of london on Feb 27, 2010 12:05 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
great post

can you explain why the following wont cache. Seems caching entities is fine, but there is a problem with queries?

[Test]
public void Can_Cache_List()
{
Console.WriteLine("2nd query");
using(var session = SessionFactory.OpenSession())
{
var acc = session.CreateQuery("from Account").SetCacheable(true).List();

acc.ShouldNotBeNull();
}
Console.WriteLine("2nd query");
using(var session = SessionFactory.OpenSession())
{
var acc = session.CreateQuery("from Account").SetCacheable(true).List();
acc.ShouldNotBeNull();
}
}

I Get:

--------------Start setup context
NHibernate: INSERT INTO Account (Name, Balance, Id) VALUES (@p0, @p1, @p2); @p0 = 'US $ Account', @p1 = '1000', @p2 = '32768'
--------------End setup context
1st query
NHibernate: select account0_.Id as Id2_, account0_.Name as Name2_, account0_.Balance as Balance2_ from Account account0_
2nd query
NHibernate: select account0_.Id as Id2_, account0_.Name as Name2_, account0_.Balance as Balance2_ from Account account0_
Left by Chev on Feb 27, 2010 3:23 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I had a little confusion in first level caching. Now i m okay with the concept of hibernate after reading your posts..
online casino
Left by online casino on Feb 27, 2010 8:39 PM

# re: First and Second Level caching in NHibernate

Left by vinyl wood flooring on Feb 28, 2010 2:57 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
thank you for this
Left by facilities management jobs on Feb 28, 2010 3:43 AM

# re: First and Second Level caching in NHibernate

Left by abercrombie on Feb 28, 2010 6:14 PM

# NHibernate

Requesting Gravatar...
NHibernate does not enable the second level cache by default, since it would have too many undesired implications.NHibernate always seems to issue a query to the DB instead of retrieving the data of the entity from the second-level cache.


poker bonus codes
Left by addison on Feb 28, 2010 8:48 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I am a BIG fan of memcached, along with first level caching, for most websites this can take 95% of the load off the website (for content websites that have more views than edits).

I also like it because this can be used by multiple boxes at the same time. Have you compared these second level cache options?

Grand National
Left by Martin Wilmer on Mar 02, 2010 4:02 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...

wedding dresses,wedding gowns,bride dresses,bridesmaids dresses,evening dresses,bridal gowns,flower girl dresses
Wedding Gowns
Formal Gowns
Cocktail Gowns
Find the wedding dress designer and wedding dress that's right for you! Browse dresses from
Bridesmaid Gowns
Evening Gowns
View our selection of exquisite, handmade gowns and dresses for your wedding
Wedding Dresses, Wedding Shoes and Wedding Accessories from wedding shop, the UK's finest collection of designer wedding dresses.
Use the wedding dress and
cheap wedding
wedding dresses
wedding shop


x
Left by sbb on Mar 02, 2010 8:00 PM

# re: First and Second Level caching in NHibernate

Left by T-Shirts on Mar 03, 2010 12:29 PM

# re: First and Second Level caching in NHibernate

Left by links of london on Mar 03, 2010 7:40 PM

# Dissertation Help India (0091-9212652900), dissertation topics, dissertation writers

Requesting Gravatar...
Hello????

wow rocking blog and this is usefull for guys. Good step about of Gangster Computer God Worldwide Secret Containment Policy and this is helpful.

Thanks


Left by Dissertations india on Mar 04, 2010 9:46 PM

# re: First and Second Level caching in NHibernate

Left by James Harry on Mar 04, 2010 10:06 PM

# re: First and Second Level caching in NHibernate

Left by discount on Mar 05, 2010 12:37 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I love this post!It tears any problems away on One to one mapping!
Left by ucvhost on Mar 06, 2010 2:23 AM

# ugg boots

Requesting Gravatar...


they are very good and useful!!!
ugg outlet
cheap uggs
nike shoes
wholesale watches hfgd
Left by ugg boots on Mar 07, 2010 5:50 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Awesome article. Explained in very simple manner.
Left by sg on Mar 07, 2010 6:26 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...

Good job! THANKS! You guys do a great website, and have some great contents. Keep up the good work.
best regards,
เอเจล ซีรีย์เกาหลี ซีรีย์เกาหลี ปุ๋ย onitsuka เสื้อ รถมือสอง บาชิ Thai Restaurant
Left by online advertising on Mar 07, 2010 7:35 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
The comments just got worse at the start of February. Please delete these shameless spam from these shameless spammers. Thanks.
Left by Shrink films on Mar 08, 2010 3:53 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
It’s hard to find knowledgeable people on this topic, but you sound like you know what you’re talking about! Thanks Don’t stop writing, you’ve given me lots of good info! Youtube to MP4 Converter
Convert PDF to image
233s
Left by powerpoint on Mar 08, 2010 2:22 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
know, We would say with still redden family link of london. Because jewelries, we could be better to go notion clothes with a will that everything is OK for me links of london excluding relations of london! Want to help you! Keep in bewared that the ornaments are scenic. Sometimes this figure is termed a triangle, and distinctive qualities. links of london sale is to women what rice is to nice. Once seeing amazing jewelries, women forever can’t help retail them. As a product, maybe one day we all know that some hand charms may highlight your skin blush, occasions, dresses, qualities, etc. Why? The key deceit links of london jewellery in large amount but not
Left by ppsdtw on Mar 08, 2010 3:40 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Abercrombie Hoodies Abercrombie Hoodies
Abercrombie Jeans Abercrombie Jeans
Abercrombie Pants Abercrombie Pants
Abercrombie Tees Abercrombie Tees
Abercrombie Shorts Abercrombie Shorts
Abercrombie Sweater Abercrombie Sweater
Abercrombie Outerwear Abercrombie Outerwear
Abercrombie Polo Abercrombie Polo
Abercrombie Shirts Abercrombie Shirts
abercrombie henleys crew abercrombie henleys crew
hollister hollister
hollister uk hollister uk
abercrombie mens abercrombie mens
abercrombie womens abercrombie womens
Ruehl 925 Ruehl 925

Abercrombie Hoodies Abercrombie Hoodies
Abercrombie Jeans Abercrombie Jeans
Abercrombie Pants Abercrombie Pants
Abercrombie Tees Abercrombie Tees
Abercrombie Shorts Abercrombie Shorts
Abercrombie Sweater Abercrombie Sweater
Abercrombie Outerwear Abercrombie Outerwear
Abercrombie Polo Abercrombie Polo
Abercrombie Shirts Abercrombie Shirts
abercrombie henleys crew abercrombie henleys crew
hollister hollister
hollister uk hollister uk
abercrombie mens abercrombie mens
abercrombie womens abercrombie womens
Ruehl 925 Ruehl 925
Left by CYJ on Mar 09, 2010 12:04 PM

# re: First and Second Level caching in NHibernate

Left by nowGoogle.com adalah Multiple Se on Mar 09, 2010 9:27 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
What more special to posted
Best Windows VPS Hosting by ucvhost If you choosing for the best windows vps | cheap vps | windows hosting | Cheap Hosting | Forex Vps hosting service, you need to hunt for those virtual private servers that can run as isolated processes while being part of a Web Server, and provide you complete privacy and root access as the VPS owner. You should also ask for CPU resources, guaranteed bandwidth, memory, and disk space, to make the most of your chosen Windows VPS hosting service. Thanks ucvhost
Left by ucvhost on Mar 10, 2010 1:58 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Its a very good idea to convert students energy into electricity. Although energy crises is increasing day by day and demanding us to search for the alternatives. There are many factors behind it like high cost of production for current energy generation methods. mcitp mcpd
Left by Iam Happy on Mar 10, 2010 8:20 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Post very nicely written, and it contains useful facts. I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement. Thanks for sharing with us. mcse mcts
Left by Ashqi on Mar 10, 2010 8:29 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Firstly I will talk about UGG boots' Origin. cheap ugg boots has been created in Australia during the First World War, by the Australian pilot, who wrapped in sheep's clothing with two feet into the shoes to protect from the cold weather. Then it gradually became popular in Australia. Initially the name came in, called ugg boots sale which means ugly shoes. Later, Australians nicknamed it ugg boots deutschland. Until yong xiexing wen zi kexia le yongyuan 1994, an American registered the trademark of UGG Australia, and began to produce UGG boots in a large scale. Today, ugg Australia is a very popular brand in the world.
Left by cheap ugg on Mar 10, 2010 6:31 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Detailed and all-rounded post, thanks for your effort.
free ads |job search|latex mattress
Left by jessie on Mar 10, 2010 7:04 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Maybe you are obsessed with
diverse Christian Louboutin sale, but
have you ever considered that the links of london charms in the store
casement are better for ladies with large hot Christian Louboutin will be
gentle, allay, and Christian Louboutin Boots?
Left by Christian louboutin on Mar 10, 2010 8:13 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Detailed and all-rounded post, thanks for your effort.
Left by rolex on Mar 11, 2010 2:21 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
well worth the read. thank you very much for taking the time to share with those who are starting on the subject. greetings
Free Bets Pariuri Sportive Biletul Zilei Clasamente Bonus Codes Legal Steroids Pariuri Sportive
Left by Free Bets Bonus Codes on Mar 11, 2010 5:53 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Firstly I will talk about UGG boots' Origin. cheap ugg boots has been created in Australia during the First

World War, by the Australian pilot, who wrapped in sheep's clothing with two feet into the shoes to protect from the cold weather. Then it gradually

became popular in Australia. Initially the name came in, called ugg boots sale which means ugly shoes.

Later, Australians nicknamed it ugg boots deutschland. Until 1994, an American registered the trademark of UGG

your arctical is so amazing,keep on it!
your arctical is so amazing,keep on it!
Australia, and began to produce UGG boots in a large scale. Today, ugg boots is a very popular brand in the

world.
Left by cheap ugg on Mar 11, 2010 6:09 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
okay, u guys mite like one of these two things that rocks as follows: links of london and Louis Vuitton. they are just far-out.
Left by links of london on Mar 11, 2010 8:21 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Good one once again, thank you for posting.
Left by Freestyle on Mar 12, 2010 4:49 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I makes it much easier to understand.
Left by ghd sale on Mar 13, 2010 12:51 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Good explanation.

Keep it up
Left by ครีมหน้าใส on Mar 14, 2010 2:02 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Makes sense to me
Left by Infomercial Products on Mar 14, 2010 7:30 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I think you'll receive pretty interesting responses, this article will be very beneficial to many people in more than one ways. Thanks for posting!
Left by Bellevue Towers on Mar 15, 2010 12:53 AM

# Social Bookmarking Services

Requesting Gravatar...
Social Bookmarking is becoming an alternate to search engine, they are updated by the real user who would like to refer some of the best sites over the web along with its title and comments.
Left by Social Bookmarking Services on Mar 15, 2010 5:48 AM

# re: First and Second Level caching in NHibernate

Left by asa on Mar 15, 2010 6:46 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I think you'll receive pretty interesting responses, this article will be very beneficial to many people in more than one ways. Thanks for posting!www.enterprisecn.com/...-company-manufacturer.html>China Manufacturer
http://www.theonlinearts.com/picture.html>Picture
www.computerlocals.com/computer-peripheral.html>Computer
glamour tea
Left by grace on Mar 15, 2010 8:01 PM

# re: How to setup a new solution

Requesting Gravatar...
To the world you Christian Louboutin sale may be one person Christian Louboutin shoes but to one person Christian Louboutin Pumps you may be Christian Louboutin Sandals the world.45
Left by Discount Christian Louboutin on Mar 15, 2010 10:28 PM

# re: First and Second Level caching in NHibernate

Left by marklesner on Mar 16, 2010 2:47 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This is very good news was well informed that the followers of the issue I am. Thanks..
MOD Converter is designed for mod converting..
Left by try on Mar 16, 2010 4:48 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This Eis very good news was well informed that the followers of the issue I am. Thanks...
MOD Converter is designed for mod converting.
Left by try on Mar 16, 2010 5:11 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks write for great post. Watch Live football | iddaa | iddaa sonuçları
Left by justin tv on Mar 16, 2010 5:26 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Support me on nowGoogle.com adalah Multiple Search Engine Popular that is a Multiple Search Engine Popular in the virtual world is so vital for the netter as a search engine popular nowGoogle.com is the most popular services used by people in navigating a web site. of this background seems nowGoogle search engines trying to join the world plunged into world of search engine nowGoogle competition with excess - the excess he had. Appearance nowGoogle multiple search engine is very interesting with a simple design and use of the complex.
Left by nowgoogle on Mar 16, 2010 6:56 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I am. Thanks... This Eis very good news was well informed that the followers of the issue Social Bookmarking Submission Blog Posting Service Link Building Services Skin Care Products kitchen products
Left by Paul on Mar 16, 2010 8:56 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Post very nicely written, and it contains useful facts. I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement. Thanks for sharing with us.

I am happy to find so many useful information here in the post, we need develop more strategies in this regard, thanks for sharing.
Left by Caviar on Mar 16, 2010 2:16 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
For instance, did you know that a ring is Sugar Cane links of london Finger Ring good in cases of pre-engagements? What does this mean usually? It typically means links of london sale the couples love one another and want to commitlinks of london jewellery but are not ready for a fully-fledged engagement.
Left by ericliu on Mar 16, 2010 5:59 PM

# re: First and Second Level caching in NHibernate

Left by linksoflondons on Mar 16, 2010 7:14 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
it is interesting and informative article. This has been very helpful understanding a lot

of things. I'm sure a lot of other people will agree with me.
Left by christian louboutin on Mar 16, 2010 9:24 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great article, i was reading something similar on another website that i was researching. Pariuri sportive , Remi , Biletul zilei , Case de pariuri . Great work, keep it up. Pronosticuri , Pariloto and Casa pariurilor and Meciuri live .I love returning back to this site and reading the quality content you always have on offer. Table online . Have a nice day.
Left by pinkigreen on Mar 16, 2010 10:25 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
That's really great work, thanks for sharing it here.
Left by Caviar on Mar 17, 2010 10:13 AM

# Dissertation writer India

Requesting Gravatar...
Wow!! Wonderful post. I like the concept very much.The dissertation writers is best all of one.

Thankingyou
Left by Dissertation writer on Mar 17, 2010 6:06 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I’m impressed, you know what you’re talking about
Left by graphic design in melbourne on Mar 17, 2010 6:57 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Cheers to the author for giving me some solid ideas
Left by SEO on Mar 17, 2010 6:58 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Don’t stop blogging! It’s nice to read a sane commentary for once
Left by monitor stands on Mar 17, 2010 7:39 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
enjoy after read your post
Left by nowGoogle on Mar 17, 2010 8:19 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Awesome tips. I’ll be passing this post on for sure
Left by cheap banners on Mar 17, 2010 9:04 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Maybe you are obsessed with diverse Christian Louboutin Boots, but have you ever considered that the links of london charms in the store casement are better for ladies with large Christian Louboutin sale will be gentle, allay, and Christian Louboutin Pumps?
Left by Christian louboutin on Mar 18, 2010 8:18 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
THANK SITE
Left by ersin on Mar 19, 2010 3:10 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Good post man, just looking around some blogs, seems a pretty nice platform you are using.
Left by Dissertation Help on Mar 19, 2010 6:45 PM

# Hotel Thailand booking guide Discount hotels in Thailand & Resort Club : Thailand Hotels Promotion

Requesting Gravatar...
I like this article. This is called a great article. I am new here. I like your site too. This is pretty awesome. i found some useful info here. anyways thanks for sharing with us. I am looking foreword your next post. Thanks. I’m just going to shear this site all my friend’s and i hope they live this site.
Thailand hotel booking
Thailand beaches
Beautycare
Left by Thailand hotel on Mar 19, 2010 7:50 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
It is hard if you are beginner. thanks that you share this to us. I will tried to implement it.
tractari autotractoare de vanzare
Left by vanzari auto on Mar 20, 2010 5:38 AM

# mbt chapa shoes

Requesting Gravatar...
I got one pair of mbt m walk shoe from Kicksin. Love my MBT! I have flat

feet and often find it difficult to find comfortable mbt chapa

shoes
...that is until I discovered mbt lami

shoes
!
Left by mbt chapa shoes on Mar 21, 2010 1:43 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I really appreciate you attempts to get all the covered details to the surface.
Left by autism characteristics on Mar 21, 2010 11:15 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
a very good post and contains very useful and valuable informaiton that can help us all to benefit from it and use it for some really good things
Left by Nessa on Mar 22, 2010 1:43 AM

# Need Help about term papers

Requesting Gravatar...

Hi


I found a new site of Term paper , essay n research paper ! essays topics and term papers topics with wide range of articles . Hope you all like this website.


Essays | Term Papers | Research Papers

Left by Debra on Mar 22, 2010 2:58 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Your article is very awesome. Do you know something new about NFL Jerseys? Our Chaussure de Spor is a good store provide you high quality Nike shoes. ed hardy clothing is also very popular in recent years, Chaussures Sports will lead you a fashion life. Nike shoes like nike tn,tn requin,Tn Requin and Air Shoes are very popular among young fashion girls and boys. mobile phone are also very cheap but functional. We also provide you top quality Tennis Racquet Shop,Cheap Nike Shoes, cheap nike shox,ed hardy, Nike Chaussures ,cheap polo shirts,Polo Shirts at a reasonable prices and awesome services.Hope you all like this website.
Left by Chaussure de Spor on Mar 22, 2010 2:37 PM

# meet is the fate

Requesting Gravatar...
The jewelry owner is standing behind the counter and looking out of the window boring. A little girl turned up and with her entire face against the window, staring at the links london links of London silver Flutter & Wow necklace.

The jewelry owner is standing behind the counter and looking out of the window boring. A little girl turned up and with her entire face against the window, staring at the links london links of London silver Flutter & Wow necklace.
Left by qianseven77 on Mar 22, 2010 6:23 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
NHibernate does not enable the second level cache by default, since it would have too many undesired implications.NHibernate always seems to issue a query to the DB instead of retrieving the data of the entity from the second-level cache. จองโรงแรม
Round Diamond Solitaire Ring
Left by Sean Dean on Mar 23, 2010 2:20 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
good
[url=http://www.efes.org]well[/url]
hao
Left by xexe on Mar 23, 2010 1:37 PM

# buy SRO Gol

Requesting Gravatar...
In my mind in the game if you do not had enough SRO Gold, you will not feel happy, my friends know that I do not had enough buy SRO Gol, so he send me some cheap SRO Gold, I was very like the SilkRoad gold , he was kindliness, he know how to SilkRoad online gold.
Left by buy SRO Gol on Mar 23, 2010 1:37 PM

# buy 12sky gold

Requesting Gravatar...
Do you know12sky gold ?if you play the online game,you will knowbuy 12sky goldis the game gold. In the game,if you had moretwelve Sky gold,you will had a tall level. But if you want,you can come here and spend a little money to boughtbuy twelve Sky gold.Quickly come here.
Left by buy 12sky gold on Mar 23, 2010 1:41 PM

# linksoflondon

Requesting Gravatar...
The story comes with a young man. He comes from a small town.links of london He goes to the prosperous city New York. He is ambitious to own a big house, a luxurious car.london links He has the confidence that one day his dream will come true. He imagines the day his wife enjoy the happiness together with him. He seeks and charity every opportunity to win the economic trade. He tries his best to earn money. One day, his entire dream comes true. He comes back home. He picks up his wife to the big city. He was invited to the party. He brings his wife to take part in the party. His workmates were disappointed for his old wife. links of london charms
His wife was also very sad that she want to go back to the town. He knows that today he owns so much fortunate is from his tender and kind wife from many aspects. The reason why she looks old is because of him. He do not want his wife go back. He wants her live with him together. He don't want her suffer so much miserable life as before. While, he was so handsome is totally different from his wife. He wonders and considers one day after one day. Soon, links of london salethe day is drawing near. He doesn’t know what he could do to leave his wife. Suddenly, an idea comes into mind. He goes to the jewelry store. He asked the price of the jewelry, then he puts his money on the counter with the twice price.
Left by eva on Mar 23, 2010 5:25 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Trapani was also the location Monogram Canvas Galliera GM for chapters 8 and 9 of the
Damier Azur Canvas Speedy 30 Cup, part of the America's Cup. Although the outer edges of Trapani are full of concrete edifices, go into the historic heart and the atmosphere changes into something altogether softer. louis vuitton Beautiful Baroque buildings, charming churches and the usual pedestrian fare of shops and restaurants, provide the perfect way to while away a summer's afternoon. The delicious, Louis Vuitton Multiple Wallet local ice creams and pastries are enough to tempt even those with the strongest willpower away from dieting and to cool down against the sizzling Trapani weather, a traditional ice-cold slushy called a granita offers the perfect solution. Flavors include almond, coffee and a variety of fruits, although the most popular is generally lemon.
Left by louis vuitton on Mar 23, 2010 8:08 PM

# re: Your first NHibernate based application

Requesting Gravatar...

Just because someoneQEWE doesn‘t love you the way you want them to doesn’t mean they don‘t love you with all they have.Don‘t cry because it is over,smile,because it happened. And forever has no end.Life is a pure flame,and we live by an invisible sun within us. To the world you may be one person,but to one person you may be the world. I love you not because Christian Louboutin sale of who you are Christian Louboutin shoes Because of who I am Christian Louboutin Pumps when I am with you Christian Louboutin Sandals No man or woman is worth your tears,and the one who is worth make you cry. No man or woman is worth your Christian Louboutin and the one who is American Eagle worth make you cry American Eagle Kids Boots I love you not because American Eagle Womens Boots of who you are
Left by Christian Louboutin on Mar 23, 2010 10:23 PM

# EVE Online Isk

Requesting Gravatar...
Do you know EVE Isk?if you play the online game EVE Online Isk,you can know that.you can had a tall level,but you want to Cheap Eve Online Isk.you can come here and spend a little money to bought Buy Eve Online Isk,that Eve Gold is the game gold.Quickly come here.
Left by EVE Online Isk on Mar 24, 2010 12:48 PM

# buy flyff penya

Requesting Gravatar...
Do you know Flyff Penya?if you play the online game,you will know penyais the game gold.if you had more flyff gold,you can had a tall level.but you want to buy flyff penya.you can come here and spend a little money to bought cheap flyff penya.Quickly come here.
Left by buy flyff penya on Mar 24, 2010 12:51 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
it is interesting and informative article. This has been very helpful understanding a lot
Left by escorts sydney on Mar 24, 2010 9:06 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great Article
Left by neelesh on Mar 24, 2010 10:01 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
I was just thinking about First and Second Level caching in NHibernate and you've really helped out. Thanks!
Left by Yacht Charter Greece on Mar 25, 2010 1:24 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...

Shop 2010 New Style Herve Leger Bandage Dress,Herve Leger Clothing,Herve Leger Skirt.More Herve Leger On Sale.100 % Quality Guarantee.
Herve Leger skirts
Abercrombie is the best online cheapest abercrombie and fitch shop where you can buy the discount abercrombie clothes,Hoodies, Jeans, T-Shirts,Free .
Abercrombie & Fitch
an online store specializing in Abercrombie and Fitch Clothing, jacket, Shirts, Hollister, Ruehl No.925, Buy Cheap Abercrombie,
Abercrombie
f
Left by sibat on Mar 25, 2010 2:04 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thanks for the useful information Computer Repair Manchester
Left by Computer Repair Manchester on Mar 25, 2010 6:35 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...

ed hardy bag
ed hardy caps 5555
ed hardy


[url=http://www.donehardyca.com]ed hardy bag[/url]
[url=http://www.donehardyca.com]ed hardy caps[/url]
[url=http://www.donehardyca.com]ed hardy[/url]

Left by mmm on Mar 25, 2010 4:55 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
christian louboutin shoeschristian louboutin shoes

Christian Louboutin saleChristian Louboutin sale |

christian louboutin Discout | christian louboutin Discout
| christian louboutin bridal | christian louboutin bridal
christian louboutin pronunciationchristian louboutin pronunciation


NFL Jersey |NFL Jersey
Discount Nfl Jerseys |Discount Nfl Jerseys
Authentic Nfl Throwback Jerseys |Authentic Nfl Throwback Jerseys



Official Ugg BootsOfficial Ugg Boots |
Ugg Classic Tall BootsUgg Classic Tall Boots |
Ugg Classic Cardy Grey |Ugg Classic Cardy Grey
Ugg Classic Cardy Clack |Ugg Classic Cardy Clack

Mbt shoes clearance Mbt shoes clearance|
mbt shoes sale mbt shoes sale |
mbt sneakers sale mbt sneakers sale|

Cheap Uggs Boots Cheap Uggs Boots|

Buy Discount Ugg Boots |Buy Discount Ugg Boots
Discount Ugg Boots |Discount Ugg Boots


ugg classic cardy black ugg classic cardy black|

ugg classic cardy oatmealugg classic cardy oatmeal |
Left by mbt shoes sale on Mar 25, 2010 5:38 PM

# sunglasses

Left by sunglasses on Mar 25, 2010 6:10 PM

# cheap aika gold

Requesting Gravatar...
In the aika online, aika gold is necessary. But how can we get the aika online gold, it is wisdom to realize, if you have enough money, using them to buy some cheap aika gold from others, call on your game players buy aika gold from them, and do some task to get the aika money.
Left by cheap aika gold on Mar 25, 2010 6:21 PM

# buy prius online gold

Requesting Gravatar...
"Prius Online" will bring a player after a century of war, the collapse of the world, to go, in such a world must learn self-protection and look for the prius gold, restoration there are fighting. Player first and foremost task is to rebuild the social order and make enough prius online gold. They also need to take care of their buy prius gold. The game also allows players to buy prius online gold, which can be controlled vehicle will also appear in the game. Camp, the game is now known to have prius money, from trying to restore the old constitution's “Enforcer”.
Left by buy prius online gold on Mar 25, 2010 6:24 PM

# buy silkroad2 gold

Requesting Gravatar...
In the SRO2, silkroad 2 gold is necessary. But how can we get the silkroad online 2 gold, it is wisdom to realize, if you have enough money, using them to buy silkroad2 gold from others, call on your game players, buy cheap silkroad2 gold from them, and do some task to get the silkroad2 money.
Left by buy silkroad2 gold on Mar 25, 2010 6:30 PM

# buy grand mer gold

Requesting Gravatar...
As soon as you play grand mer, you will love it. A good game is precious, grand mer gold is precious in the tenvi. It is as equip as the grandmer gold. Why not do some try and spend more time thinking how to buy grand mer gold? If you do as I said just now, buy grandmer goldwill be so easy. In fact, most of the players are very clever, they are the stronger in making the cheap grand mer gold.
Left by buy grand mer gold on Mar 25, 2010 7:00 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
.....Star Trek Gold with the lowest price from us, we usually have cheap Star Trek Gold for sale. Here is the best place for the Star Trek players to buy cheap Star Trek Gold. We are the professional website for buy Star Trek Gold selling. Discount Louis Vuitton bags,gucci bags, chanel bags Online Store. In the my lv store buy cheap gucci Handbags, gucci handbags, chanel handbags, You best choice for gucci backpack for men,chanel bags.louis vuitton on sale.Vast amount of cheap sto gold is in real stock, boost your game experience right now! We offer 5 minutes cheap star trek credits instant delivery. A huge amount of buy star trek credits in real stock is on hot sale from best online store! Our constant market research make sure you can star trek credits from us with lowest price!
Left by Star Trek Gold buy Star Trek Gol on Mar 25, 2010 7:13 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Very helpful article for NHibernate
----

ติดแก๊ส lpg
Left by ติดแก๊ส on Mar 25, 2010 7:16 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Great ideas and awesome results
Left by orange county web design on Mar 26, 2010 4:05 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
This is some very valueable information, thank you very much. online payday loans
Left by Allan Cafferty on Mar 26, 2010 12:47 PM

# links of london

Requesting Gravatar...
one day i went shopping outside,and in an ed hardy store,I found some kinds of ed hardy i love most they are Your website is really good Thank you for the information links of london links of london links of london sale links of london sale links of london jewellery links of london jewellery links of london uk links of london uk links of london charms links of london charms links of london sweetie bracelet links of london sweetie bracelet links of london watches links of london watches links of london bracelet links of london bracelet links of london charm bracelet links of london charm bracelet links of london friendship bracelet links of london friendship bracelet Abercrombie Abercrombie abercrombie and fitch london abercrombie and fitch london Thank you for the information
Left by links of london on Mar 26, 2010 6:07 PM

# Links of London jewellery – excellent choice for you

Requesting Gravatar...
It’s near Christmas, and I decide to search online in the hope of finding suitable Christmas presents. In the process links of london of searching on the Internet, I accidentally read a very interesting and incredible story therefore, I also decided my Christmas gift. links of london sale Several decades ago, there was a busy restaurant which attracted many regular to come frequently in London. To express the gratitude, the boss specially made fish-head shaped cufflinks links of london charms as gifts to them, and kept the left cufflinks for sale.
Left by anbohan on Mar 27, 2010 2:31 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
If a session has perform an update to a table, committed the transaction and then executed a cache query, it is not valid for the cache. That is because the timestamp written to the update cache is the transaction commit timestamp, test king while the query timestamp is the session's timestamp, which obviously comes earlier. VCP-410

The update timestamp cache is not updated until you commit the transaction! This is to ensure that you will not read "uncommitted values" from the cache.

Please note that if you open a session with your own connection, it will not be able to put anything in the cache (all its cached queries will have an invalid timestamp!)350-001

In general, those are not things that you need to concern yourself with, but I spent some time today just trying to get tests for the second level caching working, and it took me time to realize that in the tests I didn't used transactions and I used the same session for querying as for performing the updates.640-802
Left by Raster on Mar 27, 2010 10:16 PM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
It's difficulty to understand,but I will try it on my site.
Left by portal on Mar 28, 2010 12:26 AM

# re: First and Second Level caching in NHibernate

Requesting Gravatar...
Thank you For a Good article.
รถยนต์มือ2
Left by auto on Mar 28, 2010 3:19 PM

# watches

Requesting Gravatar...

Shen Xu-Hui: "North Korea's accountability system," doubtsreplica watchesMozambique Matola cement factory will increase production capacityreplica watchesMayor of New York hippie dress stunning fund-raising dinnerreplica watchesCloser look crocodile "badly" the joy of enjoying delicious (Chart)replica watchesCongo (DRC) Government denies that human rights organizations on the massacre of 321 civilians were(L3.30)
Left by watches on Mar 29, 2010 12:55 PM