– Start
通常表与表之间有三种关系,一对多(多对一),一对一,多对多。下面我们通过例子看一下如何配置表的一对多关系。
package shangbo.hibernate.demo020;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "customerId-generator")
@SequenceGenerator(name = "customerId-generator", sequenceName = "CUSTOMER_ID_SEQ")
private Integer customerId;
private String customerName;
// 一对多
@OneToMany
@JoinColumn(name = "customerId")
private List<Address> addresses = new ArrayList<>();
public Customer() {
}
public Customer(String customerName) {
this.customerName = customerName;
}
public Integer getCustomerId() {
return customerId;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public List<Address> getAddresses() {
return addresses;
}
public void setAddresses(List<Address> addresses) {
this.addresses = addresses;
}
}
package shangbo.hibernate.demo020;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "addressId-generator")
@SequenceGenerator(name = "addressId-generator", sequenceName = "ADDRESS_ID_SEQ")
private Integer addressId;
private String city;
private String street;
private Integer customerId;
public Address() {
}
public Address(String city, String street, Integer customerId) {
this.city = city;
this.street = street;
this.customerId = customerId;
}
public Integer getAddressId() {
return addressId;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public Integer getCustomerId() {
return customerId;
}
public void setCustomerId(Integer customerId) {
this.customerId = customerId;
}
}
– 更多参见:Hibernate 精萃
– 声 明:转载请注明出处
– Last Updated on 2019-06-26
– Written by ShangBo on 2019-06-26
– End