2016-03-03 48 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认为它是数据库名称。