2015-12-18 67 views
3

我有這個Entity,這是一個超類:如何在子類中重寫@annotations(javax.validation)

@Entity 
public class Father implements Serializable{  

    @Column(name = "name") 
    @Size(min=1, max=10) 
    @Pattern(regexp="^[A-Za-z ]*$") 
    @NotNull 
    private String name; 

} 

這一塊,上面伸出的一個:

@Entity  
public class FatherSub extends Father implements Serializable{ 

    private String name; 

} 

由於你可以看到,在FatherSub我沒有@Annotations,我不想要他們。 我如何覆蓋它們?有沒有辦法?

似乎@NotNull堅持的子類,並問我的註釋,以填補 Father.name(不FatherSub.name),你可以在這2張Eclipse中PRINTSCREEN圖片看。

enter image description here enter image description here

謝謝

回答

1

批註(這只是代表了某個時間特定時期的某些元信息)不超過寫的有子類時。

在你的例子中,FatherSub#name的成員隱藏了Father#name成員。這意味着FatherSub的所有實例都將與name一起使用,中定義的name不會代表@Column,如果沒有註釋@Column註釋。

此外,您不需要明確實施Serializable中的FatherSub,因爲Father已經實現了它。

相關問題