To illustrate relation OneToMany we need 2 Entities e.g. Country and City. One Country has multiple Cities.
In the CountryEntity beloww we define set of cities for Country.
@Entity
@Table(name = "Country")
public class CountryEntity implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "COUNTRY_ID", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer countryId;
@Column(name = "COUNTRY_NAME", unique = true, nullable = false, length = 100)
private String countryName;
@OneToMany(mappedBy="country", fetch=FetchType.LAZY)
private Set<CityEntity> cities = new HashSet<>();
//Getters and Setters are not shown
}
Now the city entity.
@Entity
@Table(name = "City")
public class CityEntity implements Serializable
{
private static final long serialVersionUID = 1L;
@Id
@Column(name = "CITY_ID", unique = true, nullable = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Integer cityId;
@Column(name = "CITY_NAME", unique = false, nullable = false, length = 100)
private String cityName;
@ManyToOne(optional=false, fetch=FetchType.EAGER)
@JoinColumn(name="COUNTRY_ID", nullable=false)
private CountryEntity country;
//Getters and Setters are not shown
}