产品规格因不同产品的规格字段名称而异。一种方法如下:
@Entity
class Product {
@ElementCollection
private Map<String, String> specs = new HashMap<>();
...
}
另一种方法是在PostgreSQL中使用JSon数据类型。
class SpecData {
private Map<String, String> data;
...
}
@Entity
class Product {
@Type(type = "jsonb")
private SpecData specs;
}
以及UserType和DataConvertor类。
第一种方法请求另一个表,而第二种方法不请求另一个表。第二个比第一个好吗?