Giriş
Eager yükleme için kullanılır. Normalde JPA'nın şu özelliğini kullanmak daha iyi
OneToMany ile kullanılabilir. Şöyle yaparız.
ManyToMany ile kullanılabilir. Şöyle yaparız.
OneToMany ile kullanılabilir. Şöyle yaparız.
Eager yükleme için kullanılır. Normalde JPA'nın şu özelliğini kullanmak daha iyi
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY, orphanRemoval = true)
value Alanı
ÖrnekOneToMany ile kullanılabilir. Şöyle yaparız.
@Entity(name = "product")
@Table(name = "products", schema = "${DB_NAME}", catalog = "")
public class ProductEntity {
...
private List shipments = new ArrayList<>();
@OneToMany(mappedBy = "shipmentID", targetEntity=ShipmentEntity.class)
@LazyCollection(LazyCollectionOption.FALSE)
public Collection<ShipmentEntity> getShipments() { ... }
public void setShipments(Collection<ShipmentEntity> shipments) { ... }
...
}
Örnek - LazyCollectionOption.FALSEManyToMany ile kullanılabilir. Şöyle yaparız.
@Entity
public class Product implements Serializable {
...
@ManyToMany
@LazyCollection(LazyCollectionOption.FALSE)
@JoinTable(joinColumns = @JoinColumn(name = "productId"),
inverseJoinColumns = @JoinColumn(name = "colorId"))
private List<Color> colorList;
...
}
@Entity
public class Color implements Serializable {
...
@ManyToMany(mappedBy="colorList")
private List<Product> productList;
}
OneToMany
OneToMany ile kullanılabilir. Şöyle yaparız.
@Entity
@Table(name = "COMPANY")
public class Company {
@OneToMany
@LazyCollection(LazyCollectionOption.FALSE)
@JoinTable(name = "COMPANY_2_LOCATIONS",
joinColumns = {@JoinColumn(name = "COMPANY_ID", referencedColumnName = "ID")},
inverseJoinColumns = {@JoinColumn(name = "LOCATION_ID", referencedColumnName = "ID")})
private List<Location> locations;
...
}