У меня есть три сущности User
, Item
и Category
.
User
:
@Entity
@Table(name="users")
public class User {
@Id @GeneratedValue
@Column(name="id")
private int id;
@Column(name="login")
private String login;
@Column(name="email")
private String email;
@Column(name="password")
private String password;
@Column(name="mobilePhone")
private String mobilePhone;
@Column(name="firstName")
private String firstName;
@Column(name="secondName")
private String secondName;
@Column(name="address")
private String address;
@Column(name="admin")
private boolean admin;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(
name="users_items",
joinColumns = @JoinColumn(name="user_id"),
inverseJoinColumns = @JoinColumn(name="item_id")
)
private List<Item> cart = new ArrayList<Item>(0);
//гетери сетери ко всем полям
Item:
@Entity
@Table(name = "items")
public class Item {
@Id @GeneratedValue
@Column(name="id")
private int product_id;
@Column(name="name")
private String name;
@Column(name="descr")
private String descr;
@Column(name="price")
private int price;
@Lob
@Column(name="image")
private byte[] image;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "category_id")
private Category category;
//гетери сетери ко всем полям.
Category
:
@Entity
@Table(name="categories")
public class Category {
@Id @GeneratedValue
@Column(name="category_id")
private int id;
@Column(name="name")
private String name;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "category")
private List<Item> items;
//гетери сетери для все полей кроме `items`
Вопрос в том, когда я удаляю Item
с бд, то с ним и удаляеться соответсвующая запись в таблице Category
, что не должно случаться. Канешно, я могу получить список продуктов определенной категории и удалить из нее желаемий обьект, но как ви заметили, в модели Category
есть гетери и сетери для все полей кроме списка Items определенной категории. Если я добавлю туда етот метод, тогда при попитке получить всех User или всех Item или всех Category, начинаеться рекурсивное обращение Item-Category-Item-Category и получаю ошибку StackOverflow.
Как мне реализировать маппинг, что б при удалении Item не удалялось Category?
Необходимо вывести имя лучшего бомбардираКак это можно сделать?
Использую Java, JDBC, PreparedStatementНеобходимо селектнуть из базы данных 1 запись
ЗдравствуйтеПрохожу интересные туториалы и с одним примером непонятка
В проекте используется EDSDK и edskd4jПоявляется проблема с камерой, если все работает хорошо, то при фотографировании выводит в консоль следующее...