【问题标题】:Hibernate with Spring Security使用 Spring Security 休眠
【发布时间】:2014-07-04 08:41:50
【问题描述】:

我有使用 Oracle DB 的运行良好的 Spring Security 应用程序。现在我有 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 字段。与username 绑定的两个表。 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

}

【问题讨论】:

  • 是的,当然,您可以将它与原始类型或包装类型一起使用。
  • 让我来选择你的答案。

标签: java spring hibernate spring-mvc spring-security


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 2016-07-14
    • 2014-11-25
    • 1970-01-01
    • 2011-03-14
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多