【发布时间】: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
有什么想法吗?我还使用液体在数据库中创建表。
【问题讨论】: