2014-07-14 35 views
0

在我的Person實體中,假設我想創建一個不可變的字段 - name使一個實體的字段不可變

@Entity 
public class Person { 
    @Id 
    private Long id; 

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

    public Person() {} // no-args constructor for Hibernate 

    // getter for id and name fields 
} 

據我瞭解,以下是不夠好,讓Hibernate檢索基於一個id查找一個人 - 它會使用Hibernate的settersidname

但是,如果我想創建一個新的Person與不可變的name字段,我將如何更改上述代碼?

回答

2

添加一個名爲arg的構造函數。 Hibernate的no-arg構造函數需要存在,但它不需要公開。強制調用代碼以使用名稱爲arg的構造函數。

或者使用可以直接設置專用字段的靜態生成器類;但在這種情況下,這似乎是過度殺傷力。

相關問題