1
我有一个表发票在数据库中映射到我的java类invoice.java如下。如何使用jpa在一个表中实现两个序列
@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;
}
我想按顺序生成收据编号,但我有两个序列。
收据顺序取决于用户类型。 如果用户男性,那么我想用户第一序列,如果用户是女性,那么我想使用第二序列。
作为示例...
发票表第一个项目 - 用户:詹姆斯(男),那么收据号码1
第二个条目 - 用户:安德鲁(男),那么收据号码2
第三项 - 用户:萨拉(女),那么收据号码1
第四个条目 - 用户:SLA womir(雄性),然后接收号码3
第五项 - 用户:Casie(女)然后收据NUM 2
以及用于一个用户有两种类型recipt但收据NUM两个收据将成为相同
所以如何使用JPA在mydatabase中实现这一点。我正在使用PostgresSQL。