- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在迁移这样的应用程序:
Vehicle v = null;
using (ISession session = MyNHibernateSession())
{
v = Vehicle.FindById(1);
}
using (ISession session = MyNHibernateSession())
{
// somwwhere into these4 lines Vehicle comes Finded
DoSomething();
DoSomething2();
DoSomething3();
DoSomething4();
DoSomething5();
DoSomething6();
// if i do this i get an error "another object with the same id etc etc etc
session.Update(v);
}
我不想做这样的事情:
session.EvictAllByType(typeof(Vehicle));
这可能吗?如何?,谢谢
最佳答案
这个问题可能很老,但我在寻找如何做的过程中最终来到这里。所以这就是我最终的做法:
public static void EvictAll<T>(this ISession session, Predicate<T> predicate = null)
{
if (predicate == null)
predicate = x => true;
foreach (var entity in session.CachedEntities<T>().Where(predicate.Invoke).ToArray())
session.Evict(entity);
}
public static IEnumerable<T> CachedEntities<T>(this ISession session)
{
var sessionImplementation = session.GetSessionImplementation();
var entities = sessionImplementation.PersistenceContext.EntityEntries.Keys.OfType<T>();
return entities;
}
关于c# - NHibernate Evict By Type 而不是实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569863/
我有一个新编写的系统(用 C++ 编写),我希望在其中完成大量日志记录,至少在系统证明可靠之前是这样。我打算将数据库消息存储到 PostgreSQL 服务器,但为了提高效率,我想先缓存在 Redis
我可以从 pod 描述中看到我的 pod 由于内存压力而被“逐出”而“失败”。但是我如何使用 prometheus 警报规则或其他方式测试太多“失败并被驱逐”的 pod? 我安装了 Prometheu
我在这里有一张我的内存限制利用率图表。我知道不可驱逐不能收回,而可驱逐可以收回。鉴于我的不可驱逐使用超出了我的限制,但有足够的可回收内存。我只是得到平均值,这将是我的利用吗? 最佳答案 聚会有点晚了,
我正在尝试将 Sonar 与 Jenkins 集成。一切都已设置并成功运行。当我在 Jenkins 中构建项目时,它显示 ANALYSIS SUCCESSFUL 但构建失败并出现以下错误。 [INFO
我使用 Hibernate 4.1.7 和 EhCache 作为二级缓存。我正在实现一项休息服务,以根据需要清除 cahce(驱逐所有区域)。 下面是代码片段 org.hibernate.stat.S
有没有办法让 Hibernate 逐出一个实体及其所有急切或一对一的关联,而不必手动一一逐出关联? (并且无需在关联上设置cascade=“evict”)。 一旦持久层构建并运行,我通常会发现此类需求
我无法访问眼前的代码,所以我只是想知道是否有人可以帮助我解决 Session.Evict() 问题。 假设我有一个带有子地址集合的 Person 对象。我从 session 中填充 Person 对象
我是redis的新手,所以请多多包涵。比方说,我已经配置了一个 Redis 使其具有 50mb 的 maxmemory,并且我将驱逐策略设置为 allkeys-lru。然后我继续插入和查询数据。当进程
我有一组我需要运行的守护进程,一般来说,它们不会消耗太多内存或 CPU,我有它们的 limits至 cpu: 150m和 memory: 150m . 有时,它们会飙升至比这更高的水平,这似乎会导致驱
我是 hibernate 新手。我想知道我们是否有 session.evict() 的替代方案。我已经评论了该行,并且我的逻辑运行良好。 最佳答案 session.evict() 方法用于从与 ses
阅读JBossCache documentation , 有不同的驱逐政策 JBoss Cache also ships with RemoveOnEvictActionPolicy, which c
您好,我在执行方法时遇到清理缓存的问题。这是我的配置和缓存方法: @Configuration @EnableCaching @AutoConfigureAfter(value = {MetricsC
我有一个使用 session.save(object) 获得的持久性 hibernate 对象 从那以后我改变了它。 我想执行 session.evict(object) 以节省内存,因为我已完成对对
我正在迁移这样的应用程序: Vehicle v = null; using (ISession session = MyNHibernateSession()) { v = Vehicle.F
我无法弄清楚 removeAbandoned 和 eviction 之间的区别。我在某处读到 removeAbandoned 已被弃用,但官方文档 (http://commons.apache.org
使用 sbt 1.2.7 和 sbt-pgp插件,sbt 显示驱逐警告。 $ rm -rf target project/target && sbt ";clean;compile" [info] L
在我想持久化一个对象然后通过从数据库(而不是 session )获取它来证明它是持久化的测试中,我注意到以下之间没有区别: // save it session.Clear() // fetch it
hibernate 中的 session.clear 和 evict 方法有什么区别。两者都是从 session 中删除实例的分离对象。我应该何时在 hibernate 中使用 session.cle
我有一个k8s集群,在我们的集群中,我们不希望将Pod逐出,因为Pod逐出会对运行在其上的应用程序产生很多副作用。 为了防止容器逐出,我们将所有容器都配置为保证的QoS。我知道即使系统中有任何资源匮乏
如果Joss cache从节点中逐出一个对象,并且同一对象从另一个对象(例如objB)引用它。这种情况会导致任何问题吗? objB 可以对被逐出的对象进行操作吗? 提前致谢。 最佳答案 是的。 JBo
我是一名优秀的程序员,十分优秀!