0
マッピングされたコレクションキャッシュに関する奇妙な問題があります。コレクションマッピングに関する問題
は今、私は2つのクラスがあります:私は初めて私の選択のコードを実行すると私のHibernateのキャッシュの設定が
props.setProperty("hibernate.cache.provider_class", "org.hibernate.cache.EhCacheProvider");
props.setProperty("hibernate.cache.region.factory_class", "org.hibernate.cache.ehcache.EhCacheRegionFactory");
props.setProperty("hibernate.cache.use_second_level_cache", "true");
props.setProperty("hibernate.cache.use_query_cache", "true");
factoryBean.setHibernateProperties(props);
ある
@Entity
@Table(name = "mods", catalog = "artfunpw")
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class Mod implements java.io.Serializable {
***
@OneToMany(fetch = FetchType.LAZY, mappedBy = "mods")
@OrderBy("ReleaseDate desc")
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public Set<ModVersion> getModsVersionses() {
return this.modsVersionses;
}
***
と
@Entity
@Table(name = "mods_versions", catalog = "artfunpw", uniqueConstraints = @UniqueConstraint(columnNames = "VersionNumber"))
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
public class ModVersion implements java.io.Serializable {
を
Session s = sessionFactory.getCurrentSession();
List<ModVersion> modVersions = s.createQuery("select m.modsVersionses from Mod m")
.setCacheable(true)
.list();
私は
[[email protected], [email protected], [email protected]]
のようなコレクションを得たが、2回目の呼び出しに私がヌルのコレクションを持っています:
[null, null, null]
私は何を間違っているとどのようにヌルの代わりに、予想されるオブジェクトを防ぐためにしていますか?
ありがとうございました! 、私は
select o from Mod m join m.modsVersionses o
に
select m.modsVersionses from Mod m
からクエリを再書いた後