2017-04-03 67 views
0

我要求email_id是唯一的,所以我保留它作爲唯一約束。但這些變化並未反映到DDL中。我在另一張表compliance_user中也做了相同的工作,並且在那裏工作得很好。但爲什麼不在註冊表中發生?UniqueConstraint沒有反映到表

registration.java

package com.uforic.compliance.spring.model; 

import java.util.Date; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.JoinColumn; 
import javax.persistence.ManyToOne; 
import javax.persistence.Table; 
import javax.persistence.Transient; 
import javax.persistence.UniqueConstraint; 

@Entity 
@Table(name="registration",uniqueConstraints = {@UniqueConstraint(columnNames ="email_id")}) 
public class Registration { 

@Id 
@Column(name="reg_id") 
@GeneratedValue(strategy=GenerationType.IDENTITY) 
private int regId; 

@Column(name="first_name") 
private String firstName; 

@Column(name="last_name") 
private String lastName; 

@Column(name="email_id") 
private String emailId; 

@Column(name="password") 
private String password; 

@Column(name="confirm_password") 
private String confirmPassword; 

@Column(name="ref_email_id") 
private String RefEmailId; 

@Column(name="company_name") 
private String companyName; 

@Column(name="role_id_fk") 
private int roleMaster; 

@Transient 
private String compliance; 

@Transient 
private String year; 

@Transient 
private Integer accessRights; 

@Transient 
private Integer userGroupId; 

public int getRegId() { 
    return regId; 
} 

public void setRegId(int regId) { 
    this.regId = regId; 
} 

public String getFirstName() { 
    return firstName; 
} 

public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 

public String getLastName() { 
    return lastName; 
} 

public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 

public String getEmailId() { 
    return emailId; 
} 

public void setEmailId(String emailId) { 
    this.emailId = emailId; 
} 

public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

public String getConfirmPassword() { 
    return confirmPassword; 
} 

public void setConfirmPassword(String confirmPassword) { 
    this.confirmPassword = confirmPassword; 
} 

public String getRefEmailId() { 
    return RefEmailId; 
} 

public void setRefEmailId(String refEmailId) { 
    RefEmailId = refEmailId; 
} 

public String getCompanyName() { 
    return companyName; 
} 

public void setCompanyName(String companyName) { 
    this.companyName = companyName; 
} 

public int getRoleMaster() { 
    return roleMaster; 
} 

public void setRoleMaster(int roleMaster) { 
    this.roleMaster = roleMaster; 
} 

public String getCompliance() { 
    return compliance; 
} 

public void setCompliance(String compliance) { 
    this.compliance = compliance; 
} 

public String getYear() { 
    return year; 
} 

public void setYear(String year) { 
    this.year = year; 
} 

public Integer getAccessRights() { 
    return accessRights; 
} 

public void setAccessRights(Integer accessRights) { 
    this.accessRights = accessRights; 
} 

public Integer getUserGroupId() { 
    return userGroupId; 
} 

public void setUserGroupId(Integer userGroupId) { 
    this.userGroupId = userGroupId; 
} 

@Override 
public String toString() { 
    return "Registration [regId=" + regId + ", firstName=" + firstName + ", lastName=" + lastName + ", emailId=" 
      + emailId + ", password=" + password + ", confirmPassword=" + confirmPassword + ", RefEmailId=" 
      + RefEmailId + ", companyName=" + companyName + ", roleMaster=" + roleMaster + "]"; 
} 

} 

註冊DDL

CREATE TABLE registration 
(
reg_id serial NOT NULL, 
ref_email_id character varying(255), 
company_name character varying(255), 
confirm_password character varying(255), 
email_id character varying(255), 
first_name character varying(255), 
last_name character varying(255), 
password character varying(255), 
role_id_fk integer, 
CONSTRAINT registration_pkey PRIMARY KEY (reg_id) 
) 
WITH (
OIDS=FALSE 
); 
ALTER TABLE registration 
OWNER TO compliance; 
+0

約束後的工作是目前REG_ID並沒有唯一性約束在EMAIL_ID定義在DDL – Anirudh

+0

@Anirudh我在POJ註解O。我們是否必須在DDL中手動定義? –

+0

是的。在DDL中的數據庫端添加約束總是更好 – Anirudh

回答

0

它再生DDL