【问题标题】:JPA giving a unknown entity referenceJPA 提供未知实体引用
【发布时间】:2018-08-03 01:13:31
【问题描述】:

我的项目正在使用 JPA2/hibernate 将属性映射到它们各自的表。据我了解,我必须将属性mappedby 放在所有者表中,并将JoinColumn 放在子表中(多面)。我收到这里看到的错误:

引起:org.hibernate.AnnotationException: mappedBy 引用 未知目标实体属性: ninja.familyhomestay.domain.HouseImage.homestay_info 在 ninja.familyhomestay.domain.HomestayInfo.houseImages

这是我的 HomestayInfo 课程:

@Entity
@Table(name = "homestay_info")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Document(indexName = "homestay_info")
data class HomestayInfo(
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    var id: Long? = null,

    ...

    @OneToMany(mappedBy = "homestay_info", cascade = [CascadeType.ALL], fetch = FetchType.LAZY)
    var houseImages: MutableSet<HouseImage> = HashSet(),
...
) 

还有我的 houseImage 类:

@Entity
@Table(name = "house_image")
@Document(indexName = "house_image")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
class HouseImage(
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    var id: Long? = null,
...
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "homestay_info_id")
    var homestayInfo: HomestayInfo? = null
) : Serializable 

有什么想法吗?我还使用液体在数据库中创建表。

【问题讨论】:

    标签: spring hibernate jpa


    【解决方案1】:

    在您的HomestayInfo 类中,在提及@OneToMany 关系时,您将mappedBy 属性的值称为homestay_info,而在HouseImage 类中没有名称为homestay_info 的字段。

    您应该具有在 mappedBy 中提到的相同字段名称以及在其他类中指定双边关系的属性。

    在以下语句中将 homestayInfo 重命名为 homestay_Info

    var homestayInfo: HomestayInfo? = null
    

    mappedBy字段中的值重命名为homestayInfo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2012-04-22
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多