【问题标题】:org.hibernate.MappingException: component property not found: idorg.hibernate.MappingException:找不到组件属性:id
【发布时间】:2021-06-30 17:40:09
【问题描述】:
@Table
@Entity
@Data
public class GaunamasSiunciamas {

  @AttributeOverride(name = "siuntosNumeris", column = @Column(columnDefinition = "siuntos_numeris"))
  @EmbeddedId
  private Siuntinys siuntinys;
  @AttributeOverride(name = "dezutesNumeris", column = @Column(columnDefinition = "dezutes_numeris"))
  @Embedded
  private Skyrelis skyrelis;
  @AttributeOverride(name = "id", column = @Column(columnDefinition = "kurjeris_id"))
  @Embedded
  private Kurjeris kurjeris;
  @AttributeOverride(name = "id", column = @Column(columnDefinition = "siuntejas_id"))
  @Embedded
  private Siuntejas siuntejas;
  @AttributeOverride(name = "id", column = @Column(columnDefinition = "gavejas_id"))
  @Embedded
  private Gavejas gavejas;
  private char siunciamaGaunama;
  private java.sql.Timestamp ideta;
  private java.sql.Timestamp paimta;
  private int kurjerioPin;
  private int gavejoPin;
}

链接到

@Entity
@Data
@Embeddable
public class Siuntinys implements Serializable {

  @Column(name = "siuntos_numeris")
  private @Id @GeneratedValue(strategy = GenerationType.AUTO)
  int siuntosNumeris;
  @ManyToOne
  private Kurjeris kurjeris;
  @ManyToOne
  private Sandelys sandelys;
  @OneToOne
  private Siuntejas siuntejas;
  @ManyToOne
  private PastoDarbuotojas darbuotojas;
  @ManyToOne
  private Gavejas gavejas;
  @ManyToOne
  private Pristatymas pristaymoNumeris;
  @ManyToOne
  private PervezimasIsSandelioISandeli pervezimas;
  private double siuntosSvoris;
  private String siuntosBusena;
  private char pristatymoTipas;
  private char siuntimoTipas;
}

我得到一个错误:

init 方法调用失败;
嵌套异常是 org.hibernate.MappingException:
未找到组件属性:siuntosNumeris

有什么想法吗?在过去的 2 天里我没有发现任何类似的东西

【问题讨论】:

    标签: java spring spring-boot spring-mvc jpa


    【解决方案1】:

    这是问题:

     @AttributeOverride(name = "id" ...
    

    属性name 指的是要覆盖的类的属性,但是任何地方都没有属性id。据我所知,您想改用@Column

    不管怎样,整个映射看起来并不正确。

    Siuntinys 不能是 embeddable 和实体。 从您的映射来看,它似乎应该是一个实体,不应用作 id。

    对于您在一个类中映射为@Embeddable 和在另一个类中使用@ManyToOne 映射的所有其他关联也是如此。

    我建议阅读有关 associationsidentifiers 的 Hibernate ORM 文档。

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多