Какой самый лучший способ вставить данные в третью таблицу. У меня есть база данных на postgres и три таблицы: User, Kategorija и KorisnikKategorija. Korisnikkategorija - это таблица с двумя внешними ключами пользователя и категории. Я хочу с весны, чтобы вставить данные в эту таблицу. Какой самый лучший способ? Должен ли я использовать сообщение, положить, запрос со вставкой? Я сделал интерфейсы и RestControllers. У меня есть пользователь и категория, и я хочу, чтобы пользователь мог следить за категорией. Я хочу добавить категорию в список в User.
package Diplomski.model;
import java.io.Serializable;
import javax.persistence.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import Diplomski.jpa.Flashcard;
import Diplomski.jpa.Kategorija;
import java.util.List;
/**
* The persistent class for the korisnik database table.
*
*/
@Entity
@Table(name = "korisnik", uniqueConstraints = {
@UniqueConstraint(columnNames = {
"username"
}),
@UniqueConstraint(columnNames = {
"email"
})
})
@NamedQuery(name="User.findAll", query="SELECT u FROM User u")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="user_id_generator")
@SequenceGenerator(name="user_id_generator", sequenceName = "kor_seq") private Long id;
private String email;
private String ime;
private String password;
private String prezime;
private String username;
//bi-directional many-to-one association to Flashcard
@OneToMany(mappedBy="korisnik")
@JsonIgnore
private List<Flashcard> flashcards;
//bi-directional many-to-many association to Kategorija
@ManyToMany
@JoinTable(
name="korisnikkategorija"
, joinColumns={
@JoinColumn(name="idkorisnika")
}
, inverseJoinColumns={
@JoinColumn(name="idkategorije")
}
)
private List<Kategorija> kategorijas;
public User() {
}
public User(String name, String prezime, String username, String email, String password) {
this.ime = name;
this.prezime = prezime;
this.username = username;
this.email = email;
this.password = password;
}
public User(Long id, List<Kategorija> kategorijas) {
super();
this.id = id;
this.kategorijas = kategorijas;
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email;
}
public String getIme() {
return this.ime;
}
public void setIme(String ime) {
this.ime = ime;
}
public String getPassword() {
return this.password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPrezime() {
return this.prezime;
}
public void setPrezime(String prezime) {
this.prezime = prezime;
}
public String getUsername() {
return this.username;
}
public void setUsername(String username) {
this.username = username;
}
public List<Flashcard> getFlashcards() {
return this.flashcards;
}
public void setFlashcards(List<Flashcard> flashcards) {
this.flashcards = flashcards;
}
public Flashcard addFlashcard(Flashcard flashcard) {
getFlashcards().add(flashcard);
flashcard.setKorisnik(this);
return flashcard;
}
public Flashcard removeFlashcard(Flashcard flashcard) {
getFlashcards().remove(flashcard);
flashcard.setKorisnik(null);
return flashcard;
}
public List<Kategorija> getKategorijas() {
return this.kategorijas;
}
public void setKategorijas(List<Kategorija> kategorijas) {
this.kategorijas = kategorijas;
}
}
package Diplomski.jpa;
import java.io.Serializable;
import javax.persistence.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import Diplomski.model.User;
import java.util.List;
/**
* The persistent class for the kategorija database table.
*
*/
@Entity
@NamedQuery(name="Kategorija.findAll", query="SELECT k FROM Kategorija k")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Kategorija implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
private String naziv;
//bi-directional many-to-one association to Flashcard
@OneToMany(mappedBy="kategorijaBean")
@JsonIgnore
private List<Flashcard> flashcards;
//bi-directional many-to-one association to Kategorija
@ManyToOne
@JoinColumn(name="potkategorija")
@JsonIgnore
private Kategorija kategorija;
//bi-directional many-to-one association to Kategorija
@OneToMany(mappedBy="kategorija")
@JsonIgnore
private List<Kategorija> kategorijas;
//bi-directional many-to-many association to User
@ManyToMany(mappedBy="kategorijas")
@JsonIgnore
private List<User> korisniks;
public Kategorija() {
}
public Kategorija(Integer id, String naziv, List<Flashcard> flashcards, Kategorija kategorija,
List<Kategorija> kategorijas, List<User> korisniks) {
super();
this.id = id;
this.naziv = naziv;
this.flashcards = flashcards;
this.kategorija = kategorija;
this.kategorijas = kategorijas;
this.korisniks = korisniks;
}
public Kategorija(Integer id) {
this.id = id;
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNaziv() {
return this.naziv;
}
public void setNaziv(String naziv) {
this.naziv = naziv;
}
public List<Flashcard> getFlashcards() {
return this.flashcards;
}
public void setFlashcards(List<Flashcard> flashcards) {
this.flashcards = flashcards;
}
public Flashcard addFlashcard(Flashcard flashcard) {
getFlashcards().add(flashcard);
flashcard.setKategorijaBean(this);
return flashcard;
}
public Flashcard removeFlashcard(Flashcard flashcard) {
getFlashcards().remove(flashcard);
flashcard.setKategorijaBean(null);
return flashcard;
}
public Kategorija getKategorija() {
return this.kategorija;
}
public void setKategorija(Kategorija kategorija) {
this.kategorija = kategorija;
}
public List<Kategorija> getKategorijas() {
return this.kategorijas;
}
public void setKategorijas(List<Kategorija> kategorijas) {
this.kategorijas = kategorijas;
}
public Kategorija addKategorija(Kategorija kategorija) {
getKategorijas().add(kategorija);
kategorija.setKategorija(this);
return kategorija;
}
public Kategorija removeKategorija(Kategorija kategorija) {
getKategorijas().remove(kategorija);
kategorija.setKategorija(null);
return kategorija;
}
public List<User> getKorisniks() {
return this.korisniks;
}
public void setKorisniks(List<User> korisniks) {
this.korisniks = korisniks;
}
}