Картографирование объекта посредством объединения одного столбца - PullRequest
0 голосов
/ 11 февраля 2020

Я недавно столкнулся с проблемой, имея одну таблицу с несколькими столбцами в качестве ПК. Мне было интересно, есть ли какое-нибудь элегантное решение, использующее Hibernate 5 для сопоставления этой таблицы через агрегирование одного из этих полей.

Это моя таблица:

CREATE TABLE user_product(
    email varchar(255) not null,
    product_name varchar(255) not null,
    primary key (email, product_name)
);

Эта таблица полностью независима , Нет таблицы «Пользователь» или «Продукт» (это облегчит задачу), поскольку вся информация о пользователе будет храниться в Cognito.

Полученная сущность, которую я ищу, выглядит примерно так:

public class User {

    private String email;
    private Set<String> products;

}

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

@ Скит, ты пробовал ниже?

public class User {

    private String email;

    @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private List<String> products = new ArrayList<>();    
}
0 голосов
/ 11 февраля 2020

Вы смотрели на аннотацию @EmbeddedId?

@Embeddable
public class CompositeUserProductId {

   private String email;
   private String product_name;

}


@Entity
public class UserProduct {

   @EmbeddedId
   private CompositeUserProductId compositeId;

}

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