java - 使用 Spring Security 进行 hibernate

标签 java spring hibernate spring-mvc spring-security

我有运行良好的 Spring Security 应用程序,它使用 Oracle DB。现在我有 2 个表(根据 this 教程):usersuser_roles

SQL> DESCRIBE user_roles;

 ----------------------------------------- -------- ----------------------------
 USER_ROLE_ID                              NOT NULL NUMBER
 USERNAME                                  NOT NULL VARCHAR2(100)
 ROLE                                      NOT NULL VARCHAR2(100)

SQL> DESCRIBE users;

 ----------------------------------------- -------- ----------------------------
 USERNAME                                  NOT NULL VARCHAR2(100)
 PASSWORD                                  NOT NULL VARCHAR2(100)
 ENABLED                                   NOT NULL NUMBER(1)

如您所见,users 表中没有 ID 字段。两个表与用户名绑定(bind)。 Hibernate 实体还需要带有 @Id 注释的字段。现在主要问题是:

可以将非整型变量标记为@Id吗?

这是我的实体:

@Entity
@Table(name = "Users")
public class Users {

    @Id
    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    @Column(name = "enabled")
    private int enabled;

    //getters and setters

}

最佳答案

如前所述,是的,这是可能的。

更重要的是,与其他可用的教程相比,您正在使用的教程相当糟糕(很久以前我自己就尝试过几次)。

可以在这里找到一个很好的代码示例,您可以从中学到很多东西(就像我一样):

http://fruzenshtein.com/spring-mvc-security-mysql-hibernate/

关于java - 使用 Spring Security 进行 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554255/

相关文章:

JavaFX : Need help understanding project hierarchy issues

java - Spring boot ModelAndView值不显示

java - Spring 启动 tomcat-embed-core-9.0.21.jar : zip file is empty

java - 使用 Hibernate 将当前日期 (Java) 与数据库 (sql) 中的时间戳进行比较

spring - Autowiring 字段失败异常

java - 所有测试的 JUnit 设置

java - 将泛型类作为参数传递

Spring第一次请求非常慢

java - 如何授权谷歌云视觉API android

java - 在多个服务器上查找相同的 EJB