org.hibernate.MappingException:实体:发票列:发票ID映射中的重复列
Hibernate说,列INVOICE_ID的映射是重复的。但我无法理解这个例外。请帮忙!! 我的发票类别如下:org.hibernate.MappingException:实体:发票列:发票ID映射中的重复列,hibernate,hibernate-mapping,hibernate-annotations,Hibernate,Hibernate Mapping,Hibernate Annotations,Hibernate说,列INVOICE_ID的映射是重复的。但我无法理解这个例外。请帮忙!! 我的发票类别如下: @Entity @Table(name="INVOICES") public class Invoice { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="INVOICE_ID", nullable=false,insertabl
@Entity
@Table(name="INVOICES")
public class Invoice {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="INVOICE_ID", nullable=false,insertable=false,updatable=false)
private Integer invoice_id;
@Column(name="Date_Created", nullable=false)
private Timestamp dateCreated;
@Column(name="DESCRIPTION")
private String description;
@Column(name="Total_Amount")
private Double totalAmount;
@Column(name="Tax_Amount")
private Double taxAmount;
@Column(name="Due_Date")
private Timestamp dueDate;
@Column(name="deleted")
private boolean deleted;
@OneToOne
@JoinColumn(name="Invoice_Item_Detail_id", nullable=false)
private InvoiceItemsDetails invoiceItemsDetails;
@OneToOne
@JoinColumn(name="ID", nullable=false)
private Client client;
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
}
public Date getDueDate() {
return dueDate;
}
public void setDueDate(Timestamp dueDate) {
this.dueDate = dueDate;
}
/* public Integer getInvoice_id() {
return invoice_id;
}
public void setInvoice_id(Integer invoice_id) {
this.invoice_id = invoice_id;
}
*/
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Timestamp dateCreated) {
this.dateCreated = dateCreated;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(Double totalAmount) {
this.totalAmount = totalAmount;
}
public Double getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(Double taxAmount) {
this.taxAmount = taxAmount;
}
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
public InvoiceItemsDetails getInvoiceItemsDetails() {
return invoiceItemsDetails;
}
public void setInvoiceItemsDetails(InvoiceItemsDetails invoiceItemsDetails) {
this.invoiceItemsDetails = invoiceItemsDetails;
}
}
@OneToMany
@JoinColumn(name="INVOICE_ID", nullable=false)
public Set<Invoice> getInvoices() {
return invoices;
}
我在用户表中使用了发票ID作为外键,如下所示:
@Entity
@Table(name="INVOICES")
public class Invoice {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="INVOICE_ID", nullable=false,insertable=false,updatable=false)
private Integer invoice_id;
@Column(name="Date_Created", nullable=false)
private Timestamp dateCreated;
@Column(name="DESCRIPTION")
private String description;
@Column(name="Total_Amount")
private Double totalAmount;
@Column(name="Tax_Amount")
private Double taxAmount;
@Column(name="Due_Date")
private Timestamp dueDate;
@Column(name="deleted")
private boolean deleted;
@OneToOne
@JoinColumn(name="Invoice_Item_Detail_id", nullable=false)
private InvoiceItemsDetails invoiceItemsDetails;
@OneToOne
@JoinColumn(name="ID", nullable=false)
private Client client;
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
}
public Date getDueDate() {
return dueDate;
}
public void setDueDate(Timestamp dueDate) {
this.dueDate = dueDate;
}
/* public Integer getInvoice_id() {
return invoice_id;
}
public void setInvoice_id(Integer invoice_id) {
this.invoice_id = invoice_id;
}
*/
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Timestamp dateCreated) {
this.dateCreated = dateCreated;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(Double totalAmount) {
this.totalAmount = totalAmount;
}
public Double getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(Double taxAmount) {
this.taxAmount = taxAmount;
}
public boolean isDeleted() {
return deleted;
}
public void setDeleted(boolean deleted) {
this.deleted = deleted;
}
public InvoiceItemsDetails getInvoiceItemsDetails() {
return invoiceItemsDetails;
}
public void setInvoiceItemsDetails(InvoiceItemsDetails invoiceItemsDetails) {
this.invoiceItemsDetails = invoiceItemsDetails;
}
}
@OneToMany
@JoinColumn(name="INVOICE_ID", nullable=false)
public Set<Invoice> getInvoices() {
return invoices;
}
@OneToMany
@JoinColumn(name=“INVOICE\u ID”,nullable=false)
公共集getInvoices(){
退回发票;
}
这个映射对我来说毫无意义
表INVOICE的INVOICE_ID列(它是其主键)如何作为USER.ID列的外键
发票中应有一个“用户ID”列,此列应作为您的OneToMany关联的JoinColumn:
@OneToMany
@JoinColumn(name="USER_ID", nullable=false)
public Set<Invoice> getInvoices() {
return invoices;
}
@OneToMany
@JoinColumn(name=“USER\u ID”,nullable=false)
公共集getInvoices(){
退回发票;
}