我試圖創建一個用戶表具有使用用戶名作爲外鍵的OneToMany關係,但ManyToOne關係中的用戶名字段每次都通過Null。春季休息休眠OneToMany/ManyToOne
關係:
User:
@OneToMany(targetEntity = Authority.class, cascade=CascadeType.ALL, mappedBy="username")
private Collection<Authority> authorities
Authority:
@Column(nullable = false, name="username")
@JoinColumn(name="user_username")
String username;
生成的表:
+----+--------------------+-----------+---------+
| id | username | password | enabled |
+----+--------------------+-----------+---------+
| 13 | will | q | 0 |
| 34 | I just got editted | adufhasdf | 1 |
| 36 | wakakawakwakaak | ballz | 0 |
+----+--------------------+-----------+---------+
+----+----------+------------+
| id | username | authority |
+----+----------+------------+
| 6 | NULL | ROLE_ADMIN |
| 7 | NULL | ROLE_ADMIN |
| 8 | NULL | ROLE_ADMIN |
| 12 | NULL | ROLE_BASIC |
| 13 | NULL | ROLE_BASIC |
| 14 | NULL | ROLE_BASIC |
| 17 | NULL | ROLE_BASIC |
| 18 | NULL | ROLE_BASIC |
| 19 | NULL | ROLE_BASIC |
| 20 | NULL | ROLE_BASIC |
| 21 | NULL | ROLE_BASIC |
| 22 | NULL | none |
| 23 | NULL | ROLE_BASIC |
| 24 | NULL | ROLE_BASIC |
| 25 | NULL | none |
| 26 | NULL | none |
| 27 | NULL | ROLE_BASIC |
| 28 | NULL | none |
| 29 | NULL | ROLE_ADMIN |
| 30 | NULL | ROLE_ADMIN |
| 31 | NULL | ROLE_BASIC |
| 39 | NULL | ROLE_BASIC |
| 40 | NULL | ROLE_USER |
| 41 | NULL | ROLE_USER |
| 42 | NULL | ROLE_USER |
| 43 | NULL | ROLE_ADMIN |
| 44 | NULL | ROLE_ADMIN |
| 45 | NULL | ROLE_USER |
+----+----------+------------+
作爲我的理解,你想使用「用戶名」一欄,如表「用戶」主鍵,在表中的「權威」 ,你會有「用戶名」列作爲表「用戶」的外鍵?或者在表格「用戶」中,您的主鍵是「ID」,「用戶名」只是唯一的! –
用戶名稱在用戶只是唯一 – goofiw