如何在JPA中存储自定义对象列表

时间:2018-07-04 15:49:47

标签: mysql spring hibernate jpa

是否可以通过自定义实体的主键而不是仅通过其他字段将其存储在jpa中?
在我的数据库结构中,提到的列表存储为TEXT,其值用逗号分隔。此时问题就开始了,因为在实体类中,主键是标识符(UUID),但是它需要由其他人存储,更具体地说是由实体名称存储。

用户实体代码段:

@Entity
@Table(name = "users")
public class UserEntityImpl implements UserEntity {

  @Type(type = "uuid-char")
  @Id
  @Column(name = "uuid", nullable = false, columnDefinition = "VARCHAR(32)")
  private UUID identifier;

  @Column(columnDefinition = "TEXT", nullable = false)
  private String name;

  ...

组实体代码段:

public class GroupEntityImpl implements GroupEntity {
  ...
  @ElementCollection
  @Column(columnDefinition = "TEXT", nullable = false)
  private List<UserEntity> members;
  ...

我能想到的唯一解决方案是创建一个实体转换器,但我不知道它应该如何工作。

0 个答案:

没有答案