我最近遇到了一个问题,一个具有多列的表作为PK。我想知道是否有使用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;
}
您看过注解@EmbeddedId吗?
@Embeddable
public class CompositeUserProductId {
private String email;
private String product_name;
}
@Entity
public class UserProduct {
@EmbeddedId
private CompositeUserProductId compositeId;
}