Doctrine中两列的唯一值

时间:2014-09-12 14:33:25

标签: sql symfony doctrine-orm constraints unique-constraint

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

1 个答案:

答案 0 :(得分:14)

来自the documentation,

  

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

     

必需属性:

     
      
  • name:索引名称
  •   
  • columns:列数组。
  •   

然后,

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

应该完成这项工作。