Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с @ManyToOne / 2 сообщений из 2, страница 1 из 1
22.03.2017, 23:57
    #39425300
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с @ManyToOne
Три таблицы: продуктов, категорий, картинок. Таблица картинок имеет поля с ид категории и ид продукта.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
-- ----------------------------
-- Table structure for `product_type_one`
-- ----------------------------
DROP TABLE IF EXISTS `product_type_one`;
CREATE TABLE `product_type_one` (
  `id` bigint(30) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `price` bigint(30) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_category_id_product_type_one` (`category_id`),
  CONSTRAINT `fk_category_id_product_type_one` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON UPDATE CASCADE,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for `category`
-- ----------------------------
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `categoryName` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for `image`
-- ----------------------------
DROP TABLE IF EXISTS `image`;
CREATE TABLE `image` (
  `id` bigint(50) NOT NULL AUTO_INCREMENT,
  `image_link` varchar(200) NOT NULL,
  `product_id` bigint(50) NOT NULL,
  `category_id` int(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_categories_id_image` (`category_id`),
  CONSTRAINT `fk_categories_id_image` FOREIGN KEY (`category_id`) REFERENCES `category` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;



Имеем их сущности:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
@Entity
@Table(name = "image", schema = "eshop", catalog = "")
public class Image {

    private static final String fDefaultImage = "/resources/default.jpg";

    private long id;
    private String imageLink = fDefaultImage;
    private long lotId;
    private int categoryId;

    //getters setters
}

@Entity
@Table(name = "category", schema = "eshop", catalog = "")
public class Category {
    private int id;
    private String categoryName;

    @OneToMany(mappedBy = "category", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
    private Set<ProductOne> productsOne = new HashSet<ProductOne>();

    //getters setters
}

@Entity
@Table(name = "product_type_one", schema = "eshop", catalog = "")
public class ProductOne {
    private long id;
    private String name;
    private long price;

    @ManyToOne
    @JoinColumn(name = "category_id", insertable = false, updatable = false)
    private Category category;

    //private Set<Image> images = new HashSet<Image>(); //как добавить?

    //getters setters
}



Вопрос: как сущности ProductOne добавить соответствующие ей картинки?
...
Рейтинг: 0 / 0
23.03.2017, 13:09
    #39425711
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с @ManyToOne
AK1988, решил созданием связующей таблицы под каждый тип товаров с дальнейшим связыванием через нее.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с @ManyToOne / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]