0
我有一個表名稱是「Pstn」,並有用戶表。用戶不必使用Pstn表。但有些用戶可以使用它。所以如果一個pstn有一個用戶,我們想看看誰是誰。我如何配置hibernate註釋?如何配置基於hibernate註釋的關係?
pstnBbkTable.setVisibleColumns(new Object[]{"pstn", "bbk", "user.firstName", "inReserve", "creationDate", "expireDate", "button"});
java.lang.IllegalArgumentException異常:IDS必須存在於容器或作爲生成列,缺少ID:user.firstName 在com.vaadin.ui.Table.setVisibleColumns(Table.java:691)
用戶表:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_Id")
private long userId;
@Column(name = "username", nullable = false)
private String username;
@Column(name = "password", nullable = false)
private String password;
@Column(name = "first_name", nullable = false)
private String firstName;
@Column(name = "last_name", nullable = false)
private String lastName;
PSTN表:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "pstn_Id")
private long pstnId;
@Column(name = "pstn")
private String pstn;
@Column(name = "bbk")
private String bbk;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_Id")
private User user;
*********************更新後的解決方案****************
我將pstn bean像上面的字段。我認爲這是因爲FetchType.EAGER-Lazy發生的..
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_Id")
private User owner;
你想那些2個表之間什麼關係這是不是真的清楚...... 如果我說對了:一個用戶可以擁有零個或多個PSTN? 如果是這樣,你想在Pstn表中有一個可空的FK userId – Zeromus
@ Zeromus是的,但是當我嘗試列出所有的pstn數據時,我得到了上面的錯誤; java.lang.IllegalArgumentException:Ids必須存在於容器中或作爲生成的列,缺少id:user.firstName \t at com.vaadin.ui.Table.setVisibleColumns(Table.java:691) –
從未真正使用該方法,但shouldnt user.firstName實際上是userId.firstName? 似乎不能找到該列 – Zeromus