Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对JPA引用的表列使用uniqueConstraint_Java_Spring_Jpa - Fatal编程技术网

Java 如何对JPA引用的表列使用uniqueConstraint

Java 如何对JPA引用的表列使用uniqueConstraint,java,spring,jpa,Java,Spring,Jpa,如何在唯一约束中包含引用的表列?我想为toEmail、receipt.receiptSeries和receipt.receiptNum列的表调查创建一个唯一约束 请参见以下实体: 收据 @Entity @Table(name = "RECEIPT") public class Receipt { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID") private Long id;

如何在唯一约束中包含引用的表列?我想为
toEmail
receipt.receiptSeries
receipt.receiptNum
列的表调查创建一个唯一约束

请参见以下实体:

收据

@Entity
@Table(name = "RECEIPT")
public class Receipt {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name = "ID")
  private Long id;

  @Column(name = "RECEIPT_SERIES")
  private String receiptSeries;

  @Column(name = "RECEIPT_NUM")
  private String receiptNum;
}
调查

@Entity
@Table(name = "SURVEY"}
public class Survey {

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name = "ID")
  private Long id;

  @ManyToOne(optional = false)
  @JoinColumn(name = "RECEIPT_ID")
  private Receipt receipt;

  @Column(name = "TO_EMAIL")
  private String toEmail;
}
我尝试过使用以下方法,但没有成功:

@Table(name = "SURVEY", uniqueConstraints = {
    @UniqueConstraint(columnNames = {"TO_EMAIL", "RECEIPT.RECEIPT_SERIES", "RECEIPT.RECEIPT_NUM"})})

将复合主键与
receiptSeries
receiptNum
一起用于接收不是一个选项。

尝试类似的方法

@Table(name="notification_status", uniqueConstraints= 
       arrayOf(UniqueConstraint(columnNames= arrayOf("external_user_id",
                                                     "external_organization_id",  
                                                     "notification_id"))))

您可以尝试使用
@Column(name=“TO_EMAIL”,unique=true)
假设这可能有助于you@RajithPemabandu是的,但这将使
调查
表中的
收件人电子邮件
列唯一。在我的问题中,同一封电子邮件可能会有多个
调查
,但对于相同的
收据系列
/
收据数量
组合,则不会有