2014-09-12 56 views
3

我有一个名为Dimension的实体。它有三个属性 - ID,宽度和高度。 ID是主键。在表格中,维度应该是唯一的,因此必须只有一个具有给定维度的记录(例如40x30)。我需要设置什么限制? 是uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})}是否正确?Doctrine中的两列的唯一值

+2

给任何使用'@ UniqueConstraint'注释的人提示:您需要导入注释:'use Doctrine \ ORM \ Mapping \ UniqueConstraint;' – 2015-08-25 22:34:28

回答

12

the documentation,

@UniqueConstraint注释使用@Table注释内部上 实体级水平。它允许提示SchemaTool在指定的表列上生成一个 数据库唯一约束。它在SchemaTool模式生成上下文中仅具有 含义。

必需属性:

  • 名:姓名索引的
  • 列:列的阵列。

的anwser然后YES

/** 
* @Entity 
* @Table(name="xxx",uniqueConstraints={@UniqueConstraint(name="dimension", columns={"width", "height"})}) 
*/ 
class Dimension 

应该那么做的工作。