Basit bir model ayarladım: Birden çok görüntü içeren belge varlıkları. Görüntüler başka bir veritabanına kaydedilir ve diğer eski uygulamalardan güncellenir; dolayısıyla, uygulamanızın salt okunur erişimi vardır. Görüntüler tablosunu başka bir sunucuda yerel bir tablo olarak kullanabilmem için kurdum. Benim eşleştirmeleri aşağıdaki gibidir:NHibernate oturum fabrikası oluşturulurken neden "değişebilir için yapılandırılabilen salt okunur önbellek" elde ediliyor?
<class name="Image" mutable="false" table="ImageExternal">
<cache region="images" usage="read-only" />
<id name="Id">
<generator class="assigned" />
</id>
<property name="Name" update="false" />
<!-- other properties -->
</class>
<class name="Document" table="Document">
<id name="Id">
<generator class="guid.comb" />
</id>
<!-- other properties -->
<set name="Images" mutable="false">
<cache region="images" usage="read-only" />
<key column="some_guid_column" />
<one-to-many class="Image" />
</set>
</class>
kendisi değişebilirdir görüntü sınıfı, ancak korunan alanlara erişim stratejisi değiştirerek iletmenin yapabilirsiniz. Görüntü eşlemesinde mutable = "false" ayarlıyorum, tüm özellikleri güncelleme = "false" ve ana ilişkide ayarlanan Görüntüler de "değiştirilemez" = "false" ile işaretlendi. Ancak, oturum fabrikasını oluştururken "salt okunur: görüntüler için uyarlanmış salt okunur önbellek" uyarısı alıyorum çünkü önbellek kullanımı "salt okunur".
Salt okunur önbelleği ne zaman kullanabilirim? Mutable = "false" koleksiyonları ve salt okunur önbellekler uyumlu değil mi? – Vasea
@Vasile, belgelere göre değil. Bunu sınıf haritanızda kullanabilirsiniz, ancak önceden tanımlanmış olduğu gibi koleksiyon eşlemenizde kullanamazsınız. – Vadim