Customer、Invoices、Containersの3つのテーブルがあるアプリを設計しています。1人の顧客が多くの請求書を持つことができ、同様に1つのコンテナが多くの請求書を持つことができるため、請求書テーブルには、顧客からのものとコンテナからのものの2つの外部キーがあります。ここで、顧客またはコンテナに関して請求書テーブル全体を取得するのではなく、請求書テーブル全体を取得してから、データをjspページに送信します。これがデータベースerdの画像です
エンティティは次のようになります。
Customer.java
@Entity
@Table(name="customer")
public class Customer {
@Id
@Column(name="Id")
private Integer Id;
@Column(name="Name")
private String Name;
@Column(name="PhoneNo")
private String PhoneNo;
@Column(name="Email")
private String Email;
@Column(name="Address")
private String Address;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="Customer_Id")
private List<Invoice> invoices;
public Customer(){
}
Container.java
@Entity
@Table(name="container")
public class Container {
@Id
@Column(name="Id")
private int Id;
@Column(name="Code")
private int Code;
@Column(name="Name")
private String Name;
@Column(name="From")
private String From;
@Column(name="To")
private String To;
@Column(name="Depart")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Temporal(TemporalType.DATE)
private Date Depart;
@Column(name="Arrival")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Temporal(TemporalType.DATE)
private Date Arrival;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="Container_Id")
private List<Invoice> invoices;
Invoices.java
@Entity
@Table(name="invoice")
public class Invoice {
@Id
@Column(name="Id")
private int Id;
@Column(name="WeightQty")
private String WeightQty;
@Column(name="Details")
private String Details;
@Column(name="Rate")
private int Rate;
@Column(name="Debit")
private int Debit;
@Column(name="Credit")
private int Credit;
public Invoice(){
}
enter code here
顧客とコンテナとの1対1のバインディングを追加します
@Entity
@Table(name="invoice")
public class Invoice {
@Id
@Column(name="Id")
private int Id;
@Column(name="WeightQty")
private String WeightQty;
@Column(name="Details")
private String Details;
@Column(name="Rate")
private int Rate;
@Column(name="Debit")
private int Debit;
@Column(name="Credit")
private int Credit;
@ManyToOne
@JoinColumn(name = "customerid")
private Customer customer;
@ManyToOne
@JoinColumn(name = "containerid")
private Container container;
public Invoice(){
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加