2017-02-06 9 views
0

"Pstn"という名前のテーブルがあり、Userテーブルがあります。ユーザーはPstnテーブルを使用する必要はありません。しかし、一部のユーザーはそれを使用することができます。したがって、pstnにユーザがいれば、誰が誰かを見たいと思っています。休止状態の注釈を設定するにはどうしたらいいですか?hibernate注釈ベースの関係を設定するにはどうすればいいですか?

pstnBbkTable.setVisibleColumns(new Object[]{"pstn", "bbk", "user.firstName", "inReserve", "creationDate", "expireDate", "button"}); 

java.lang.IllegalArgumentExceptionが:IdsはIDが不足し、コンテナまたは生成列として存在しなければならない:com.vaadin.ui.Table.setVisibleColumnsでuser.firstName (Table.java:691)

Userテーブル:

@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; 
+0

私が右のことだ たら...本当にはっきりしていない...それが理由FetchType.EAGER、レイジーで発生したと思いますか? もしあなたがPstnテーブルのnull可能なFKユーザIDを望むならば、 – Zeromus

+1

@Zeromusはい、しかし、すべてのpstnデータをリストしようとすると、上記のようなエラーが出ます。 java.lang.IllegalArgumentException:IDがコンテナ内に存在するか、生成された列としてIDが存在しない場合:user.firstName \t at com.vaadin.ui.Table.setVisibleColumns(Table.java:691) –

+0

user.firstNameは実際にはuserId.firstNameではありませんか? その列が見つからないようです – Zeromus

答えて

0

私は上記のようなpstn beanフィールドを置き換えました。一人のユーザーがゼロまたは複数の公衆網を持つことができます:私はあなたがそれらの2つのテーブル間で何をしたい関係

@ManyToOne(fetch = FetchType.EAGER) 
@JoinColumn(name = "user_Id") 
private User owner; 
関連する問題