2016-03-03 50 views
1

我只是想得到這個導入的解釋,我正在尋找一些很好的解釋,但無法找到它。UniqueConstraint休眠和什麼是目錄

javax.persistence.UniqueConstraint 

http://www.mkyong.com/hibernate/maven-hibernate-annonation-mysql-example/

我下面這個例子休眠。 我能夠理解的一切。但爲什麼我們在這裏使用獨特的約束

@Table(name = "stock", catalog = "mkyong", uniqueConstraints = { 
    @UniqueConstraint(columnNames = "STOCK_NAME"), 
    @UniqueConstraint(columnNames = "STOCK_CODE") }) 

什麼是目錄?

而且我們還必須在這裏聲明獨特嗎?

@Column(name = "STOCK_CODE", unique = true, nullable = false, length = 10) 

感謝

回答

0

@UniqueConstraint會允許你指定一個唯一約束跨越列,而在@Column指定它是隻爲列。爲了保持靈活性和一致性,一些商店/工程師只能使用@UniqueConstraint,因此只有一個地方可以看。

雖然具體實現,MySQL認爲它是數據庫名稱。