草庐IT

Hibernate-Session

全部标签

java - hibernate 一个线程,直到来自不同类的另一个线程参加了一个事件

我有一个触发2个线程的应用程序,第一个启动另一个类来执行一些处理,然后启动第三个类来执行更多处理。主类中的第二个线程应该等到第三个类中的某个事件完成后再执行它的工作。如何实现?我曾尝试实现一个等待/通知以在两个线程之间共享一个锁对象,但从技术上讲这行不通,因为我发现了困难的方法。我可以在类之间共享锁吗?请注意,第3类的实例在第1类中声明,并作为参数传递给第2类。我还尝试在第三类中创建boolean值,告诉事件何时完成,然后轮询第二个线程直到该值为真。这有效但不是很理想。actionListner是否也是解决此问题的更好方法? 最佳答案

java - hibernate h2 可嵌入列表预期为 "identifier"

我正在尝试在我的员工实体中关联一个函数列表(可嵌入),而H2似乎对这种期望“标识符”的说法不满意Causedby:org.h2.jdbc.JdbcSQLException:SyntaxerrorinSQLstatement"CREATETABLEEMPLOYEE_FUNCTIONS(EMPLOYEE_EMPLOYEEIDVARCHAR(255)NOTNULL,ACTIVEBOOLEANNOTNULL,DEPARTMENTNUMBERINTEGERNOTNULL,DESCRIPTIONVARCHAR(255),ORDER[*]INTEGERNOTNULL)";expected"ident

java - Hibernate 或 TopLink 的替代品?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion是否有Hibernate的可行替代方案?最好是不基于JPA的东西。我们的问题是我们正在构建一个复杂的(例如,许多对象相互引用)有状态的RIA系统。似乎Hibernate主要设计用于一次性应用程序-JSF等。主要是延迟加载的问题。由于在初始化和实际加载惰性集合之间可能有多个HTTP请求,因此每个事务一个session是不可能的。长期session(每个应用程序一个)也不能很好地工作,因为一旦

java - 非托管线程 Spring Quartz Websphere Hibernate

看来我们使用Quartz-JDBCJobStore以及Spring、Hibernate和Websphere的实现正在抛出非托管线程。我读了一些书,发现了一篇来自IBM的技术文章,指出将Quartz与Spring一起使用会导致这种情况。他们建议使用CommnonJ来解决这个问题。我做了一些进一步的研究,到目前为止我看到的唯一例子都是处理不在数据库中的计划旧JobStore。所以,我想知道是否有人有解决此问题的示例。谢谢 最佳答案 我们有一个可行的解决方案(实际上有两个)。1)更改quartz源代码以将WorkManager守护线程用作

java - 在 Controller 中获取 Spring boot/security 的 session token

我们正在使用带有springsecurity的springboot来实现一个查询接口(interface)。我想要做的是只允许每个用户一次运​​行固定数量的查询。查询可能需要很长时间,用户发送重复请求的速度可能快于我们的响应速度。我希望Controller一次只计算一个子集请求,并且我必须实现一些逻辑来确定要响应哪些请求。为此,我需要知道给定用户的sessiontoken。有没有一种简单的方法可以在Controller的方法中获取它? 最佳答案 如果你想在Controller中获取sessionId,你可以使用RequestCont

java - 使 spring 安全 session 无效

我需要使(或踢)用户session无效。该应用程序仅限制用户登录每个容器只有一个用户。我尝试从session注册表中调用removeSessionInformation,它已完成以解锁用户。这样其他用户就可以使用被踢session的用户名登录。但被踢出的用户的SessionContextHolder仍然存在。所以他们仍然有相同的权限访问protected页面。如何从指定的session注册信息中使SessionContextHolder的Principal失效或移除?ps:在我的旧应用程序中,我在UserDomain(UserDetails)中提供了一个变量来保存HttpSession

java - Struts 2 session 超时

我是struts的新手。我正在使用Struts2。请任何人告诉我如何在session超时后自动重定向jsp页面。 最佳答案 好吧,您需要创建一种方法来检查session是否已过期,因为浏览器无法确定session是否已过期。您需要执行以下步骤在您的web.xml中定义session超时。30围绕Struts2的一个简单方法是创建一个Interceptor并检查session有效性,如果session已过期,您可以将用户重定向回您指定的jsp页面。这是示例拦截器的快速View拦截器publicclassSessionIntercept

java - Hibernate映射文件和注解的区别

今天我尝试创建一个使用Hibernate作为ORM的应用程序。所以在创作的时候我有一个疑问。使用Hibernate映射文件(.hbm文件)或注释的最佳做法是什么?它的优点和缺点是什么?请帮助我理解。 最佳答案 没有功能上的区别。您可以用这两种方法做(几乎)相同的事情xml文件是在Java有注解(1.5中添加)之前使用的,因此它们可以被认为是一种过时的映射方式通常首选使用JPA注释而不是特定于hibernate的注释;如果使用xml-有一种JPAxml格式,应该优先于hibernatenative格式

java - 没有可用的事务性 EntityManager - 使用 JPA Api,Hibernate Session 出错

我正在尝试从注入(inject)的EntityManager中解包HibernateSession,因为我需要使用Hibernate的nativeCriteriaAPI。当我尝试使用Criteria时出现以下异常:Causedby:java.lang.IllegalStateException:NotransactionalEntityManageravailableatorg.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEnti

java - 无法使用 Hibernate createQuery 实例化类

我正在尝试使用hibernate来创建不是域模型的对象,但我收到了一条难以理解的错误消息。我的Java代码:publicBoxMeasureStatgetBoxStat(longbox_id,long){TypedQuerydata=em.createQuery("SELECTNEWorg.massema.util.BoxMeasureStat(MIN(bm.value),AVG(bm.value),MAX(bm.value),MAX(bm.start_time))"+"FROMbmWHEREbm.box_id=:box_id"+"ANDbm.type_id=:type_id"+"or