Reputation: 9440
I Don't understand why I'm still getting the hibernate.MappingException:
Repeated column in mapping for entity: PanelCategoryOption column: category_id (should be mapped with insert="false" update="false")
PanelCategoryOption mapping
@Entity
@Table(name = "eq_panel_category_option")
public class PanelCategoryOption {
@EmbeddedId
private PanelCategoryOptionId id;
}
PanelCategoryOptionId mapping
@Embeddable
public class PanelCategoryOptionId implements Serializable {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "panel_id", referencedColumnName = "panel_id"),
@JoinColumn(name = "category_id", referencedColumnName = "category_id")})
private PanelCategory panelCategory;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "category_option_id", referencedColumnName = "id", insertable = false, updatable = false),
@JoinColumn(name = "category_id", referencedColumnName = "category_id", insertable = false, updatable = false)})
private CategoryOption categoryOption;
}
Schema
Upvotes: 0
Views: 351
Reputation: 1213
Why are you having category_id reference in PanelCategoryOption table. This is not a normalized database design as it is not fulfilling Second Normal form. Try and update your database design.
Also if you don't want to change the DB design, you need to make the following changes,
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "category_option_id", referencedColumnName = "id", insertable = false, updatable = false) })
private CategoryOption categoryOption;
@JoinColumns({
@JoinColumn(name = "category_id", referencedColumnName = "category_id", insertable = false, updatable = false)})
private Category category;
Upvotes: 1