草庐IT

current_session

全部标签

java - 防止 Hibernate session 刷新/存储无效的脏实体

我想知道采取哪种方法来防止Hibernate4.3.4(使用Spring和HibernateVaidator)刷新脏实体。在我的代码中,我使用HibernateValidator的手动实现(实例本身中的.validate()方法),它在保存实体之前被调用。validate()方法返回错误列表(如果发现任何错误),否则调用Session.update()来存储实体,然后提交事务。这可行,但是当实例本身被操作时(在实体中设置发布/请求参数)实体和相应的Hibernatesession被标记为“脏”并且实体与下一个Session.flush()一起存储。在我的例子中,我想明确控制可能存储的实

java - 如何在 session 关闭后使用 hibernate 访问延迟加载的字段?

考虑这个场景:我已经通过hibernate加载了父实体Parent包含一个Children的集合,该集合很大且延迟加载当用户查看父数据时,初始加载后hibernatesession关闭用户可以选择查看lazyChildrenCollection的内容我现在想加载那个集合加载此集合的方式/最佳方式是什么?假设session-in-view不是一个选项,因为只有在用户查看了Parent并决定查看Children之后才会获取Children集合。这是一项可通过基于Web和桌面的客户端远程访问的服务。谢谢。 最佳答案 惰性集合可以使用Hib

java - Tomcat:将 session 存储在数据库中

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在寻找一种方法来避免内存中session复制/集群并将session存储在数据库中。此时使用Tomcat的JDBCStore是没有用的,因为它只是将不活动的session存储在数据库中以节省服务器内存。有什么建议吗?预先感谢费边

java - 如何在运行时在 Drools DRL 中将事实添加到工作内存并在无状态 session 的执行结果中检索它们?

背景:我正在开发一个应用程序,它根据一组drools规则将输入对象转换为两个输出对象之一。输出对象直到运行时才为人所知,它是在要执行的第一个规则中创建的。这是创建输出对象的规则和示例转换规则:rule"Initialization"dialect"java"salience1000no-looptruewhent:Trade()thenif(t.getTran().getInsType().equalsIgnoreCase("EEO")||t.getTran().getInsType().equalsIgnoreCase("EEF")){insert(newOption());}els

java - javax.mail.Session有什么用?

我正在修复一个负责发送电子邮件的类。它看起来像这样(简化):/*...*/Propertiesprops=System.getProperties();props.put("mail.smtp.host",A_VALID_IP_OF_MAIL_SERVER);Sessionsession=Session.getDefaultInstance(props,null);try{Messagemsg=newMimeMessage(session);/*msg.setFrom();msg.addRecipient();etc.*/Transport.send(msg);System.out.p

java - 如何处理 Play Framework 中的 session 超时或过期?

我想知道用户的session在服务器端是否已过期并在发生时执行某些操作。我该怎么做?我正在使用Java和Play框架2.2.1。 最佳答案 使用Play时的built-inauthentication,在每个经过身份验证的请求中,在session中存储一个时间戳,并更新过期时间。然后,在身份validator中,验证session过期时间。文章HowtoimplementaSessionTimeoutinPlayFramework2提供了这个例子:publicclassSecuredextendsSecurity.Authentic

java - Spring Boot Basic Authentication without Session(Stateless Session)

我已经为我的Spring-Boot应用程序配置了基本身份验证。一切都是JavaConfig,没有xml。importorg.springframework.context.annotation.Configuration;importorg.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;importorg.springframework.security.config.annotation.web.builders.HttpSecurity;

java - 同一网络应用程序中不同用户的不同 session 超时

我需要在同一个Web应用程序中设置2个session超时。普通用户60分钟,管理员用户3小时。我被告知这是不可能的,我需要为管理员托管一个单独的网络应用程序。有什么解决方法吗?更新:感谢Bozho和Kurt的回复-我有一个后续问题。session.setMaxInactiveInterval()是否覆盖通过web.xml设置的session超时值? 最佳答案 你可以试试session.setMaxInactiveInterval(intinterval) 关于java-同一网络应用程序中

java - 带注释的 Spring + Hibernate : No Hibernate Session bound to thread

我是Spring的新手,我正在尝试使用以下堆栈创建一个webapp:ApacheTomcat7、MySQL、SpringMVC、带有JPA注释的Hibernate3。我正在尝试按照CraigWalls的“SpringinAction,第三版”一书进行学习。首先,我想创建一个页面来显示我手动添加到我的数据库中的一些条目,但看起来我的应用程序无法从我的SessionFactory创建/检索任何Hibernatesession。这是我的根本原因堆栈跟踪:exceptionorg.springframework.web.util.NestedServletException:Requestpr

java - (N)Hibernate "session-per-application"被认为是特定用例的邪恶?

好的,每个人都知道不鼓励使用(N)Hibernate的全局session每个应用程序。但是我有一个非常具体的、显然是非标准的用例,它似乎是理想的解决方案。总而言之,我的(服务器)应用程序的所有持久数据基本上都在内存中,并且从不查询数据库以进行正常操作。首先使用数据库的唯一原因是数据在进程的生命周期内存活。我只想在应用程序启动时查询数据库以将所有内容提取到内存中。实际上,该数据库只有大约5-10MB。现在的问题是,如果我遵循session必须是短暂的建议,我必须为每个业务交易合并()我的所有数据,或者以某种方式手动跟踪所有更改,而不是利用NHibernate的自动更改跟踪。这使得持久性很