在实体中嵌入复杂对象

问题描述

我想嵌入以下内容

 @Embeddable
  public class BaseEntity implements Serializable {

  @Id
  @GeneratedValue
  private UUID id;

  @CreatedDate
  @Column(name = "created_date",updatable = false)
  private LocalDateTime createdDate;

 }

进入我的房间实体

    @Entity
    @Data
    @NoArgsConstructor
    @Table(name = "room")
    public class room {
    
      @EmbeddedId
      private BaseEntity baseEntity;
    
    
      @Column(length = 80,nullable = false)
      private String name;
}

让我生成的表格看起来像这样

room
  id
  createdDate
  name

但是 id 和 createdDate 没有被嵌入

解决方法

而不是 @Embeddable 只是扩展您的 BaseEntity

@MappedSuperclass 
@Getter
@Setter
public class BaseEntity implements Serializable {

  @Id
  @GeneratedValue
  private UUID id;

  @CreatedDate
  @Column(name = "created_date",updatable = false)
  private LocalDateTime createdDate;

 }

@Entity
@Data
@NoArgsConstructor
@Table(name = "room")
public class room extends BaseEntity{

  @Column(length = 80,nullable = false)
  private String name;

}