通过汇总一列映射实体

问题描述 投票:0回答:1

我最近遇到了一个问题,一个具有多列的表作为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;

}
java postgresql hibernate
1个回答
0
投票

您看过注解@EmbeddedId吗?

@Embeddable
public class CompositeUserProductId {

   private String email;
   private String product_name;

}


@Entity
public class UserProduct {

   @EmbeddedId
   private CompositeUserProductId compositeId;

}

© www.soinside.com 2019 - 2024. All rights reserved.