Я новичок в hibernate, я разработал одно продемонстрированное веб-приложение с использованием servlet-jsp + hibernate + MySql + Maven.Это простой информационный портал о стране, где пользователь-администратор может добавить информацию о стране, такую как название страны, язык, на котором говорят в стране, виды спорта, в которых играет страна.
Теперь я остановился на сопоставлении многих к одному, так какмногие виды спорта, которыми занимается страна, теперь Sports
и Country
, оба являются сущностями, мне нужно развивать отношения таким образом, чтобы в моей таблице country
можно было указать несколько значений, разделенных запятыми.Я ищу что-то вроде ниже.
спортивный стол
id name
1 football
2 cricket
3 hockey
4 baseball
таблица страны
id name language sports
1 England English 1,2,4
2 Australia English 2,4
Модель страны
package com.javarnd.cip.model;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@Entity
public class Country {
@Id
@GeneratedValue
@Column(name = "country_id")
private long countryId;
private String name;
@OneToOne
@JoinColumn(name = "lang_id")
private Language locale;
@OneToOne
@JoinColumn(name = "city_id")
private City capital;
@OneToMany
@JoinColumn(name = "sport_id")
private List<Sports> sportsList;
public long getCountryId() {
return countryId;
}
public void setCountryId(long countryId) {
this.countryId = countryId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Language getLocale() {
return locale;
}
public void setLocale(Language locale) {
this.locale = locale;
}
public City getCapital() {
return capital;
}
public void setCapital(City capital) {
this.capital = capital;
}
}
Спортивная модель
package com.javarnd.cip.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Sports {
@Id
@GeneratedValue
@Column(name = "sport_id")
private long sportId;
private String name;
public long getSportId() {
return sportId;
}
public void setSportId(long sportId) {
this.sportId = sportId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Как мне использовать "mappedBy"
здесь, это полезно для меня