2012-05-15 64 views
1

正如標題所說,有什麼異常得到如下這些條件下,扔在我的堅持java類:在java中爲這些註釋引發了什麼異常?

@Column(name = "USERNAME", nullable=false, unique=true) 
private String username; 


@Column(name = "PASSWORD") 
@NotNull 
@Size(min = 5, max = 25) 
private String password; 

有什麼用@NotNull@Column(nullable=false)之間的區別?

我找不到任何API文檔與如果username爲空,而不是唯一可能發生異常的類型一起解釋這一點。如果password爲空,則少於chars且多於25個字符會引發什麼。

回答

4

javax.persistence.Column用於指定數據庫列的詳細信息。 nullable屬性通常僅在生成表定義時使用,並且不在運行時用於驗證。

javax.validation.constraints.NotNull用於在運行時持續之前驗證所述數據,假設驗證提供商啓用並配置。違規將拋出ValidationException的子類。

如果username爲空,而不是唯一可能發生的異常類型

無異常會由應用程序本身被拋出,但如果從這些註釋中生成的數據庫的表定義,然後一些JPA異常將被拋出。

如果password爲空,則少於字符且超過25個字符會引發什麼。

A ValidationException某種形式。

+0

好,謝謝。是驗證已傳遞到持久性java類中的數據的一種好方法,還是有更好的方法? – jonney

+0

謝謝解答謝謝 – jonney

相關問題