2011-07-12 44 views
0

我有一个包含用户登录和注销日期的表。当应用程序崩溃,用户再次登录也可以是这样的:忽略表中的虚假登录

user | log_in_out | date 

john | login  | 12.7.2011.9:15 
john | login  | 12.7.2011.9:17 
john | login  | 12.7.2011.9:18 
john | logout  | 12.7.2011.9:25 
john | login  | 12.7.2011.9:45 
john | login  | 12.7.2011.9:55 
john | logout  | 12.7.2011.9:57 

,我想选择第一次登录(9:15)和相应的退出(9:25),然后第二次登录(9:45 )和相应的注销(9:57)等。我已经在java代码级别完成了这项工作。它可以在SQL /休眠级别完成?

非常感谢!

+2

也保存会话ID。用户注销时使会话无效。 – zawhtut

回答

0

创建这样的映射并创建一个JPQL查询。我认为你应该添加会话ID来连接登录和登出。

@Entity 
class Register { 
    String user; 
    @Enumerated(EnumType.STRING) 
    LoginType log_in_out; 
    Date date; 
    //TODO getters and setters 
} 
enum LoginType { 
login, logout 
}