значения в MySQL, разделенные запятыми, используя отображение отношений hibernate - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в 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" здесь, это полезно для меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...