【发布时间】:2016-08-25 09:15:12
【问题描述】:
我在数据库中有一张表 invoices,它映射到我的 java 类 invoice.java,如下所示。
@Entity
@Table(name = "invoices")
public class Invoice implements Serializable {
@Id
@GeneratedValue(generator = "my_seqinvoice")
@SequenceGenerator(name = "my_seqinvoice", sequenceName = "MY_SEQINVOIVE", allocationSize = 1)
private Long invoiceId;
private String invoiceType;
private String receiptNumber;
private Long amount;
private Long totalAmount;
private Date invoiceDate;
private String paymentType;
@ManyToOne
@JoinColumn(name = "userId")
private User user;
}
我想按顺序生成收据编号,但我有两个序列。
收据顺序取决于用户类型。 如果用户是男性,那么我想使用第一个序列,如果用户是女性,那么我想使用第二个序列。
例如...
在发票表中
第一个条目 - 用户:James(男性)然后收据编号 1
第二个条目 - 用户:Andrew(男)然后收据编号 2
第三个条目 - 用户:Sarah(女性)然后收据编号 1
第四个条目 - 用户:Slawomir(男性)然后收据编号 3
第五个条目 - user:Casie(female) 然后收据编号 2
对于一个用户,有两种类型的收据,但两种收据的收据编号相同
那么如何使用 JPA 在我的数据库中实现这个。我正在使用 PostgresSQL。
【问题讨论】:
标签: sql hibernate postgresql jpa jpql