I created tables in MySQL: role tabel , object_label and role_object_label (links table)
I defined @ManyToMany and I gets exception. what the problem in my code?
@Entity
@Table(name = "object_label")
public class ObjectLabel implements Serializable {
private static final long serialVersionUID = 3475812350796110403L;
private String name;
1. 长期公共收入(第1款);
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(precision = 10, unique = true, nullable = false, updatable = false)
public Long getId() {
return id;
}
@Override
public void setId( Long id ) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
}
@Entity
@Table(name = "role")
public class Role implements Serializable {
1. 长期公共收入(第1款);
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(precision = 10, unique = true, nullable = false, updatable = false)
public Long getId() {
return id;
}
@Override
public void setId( Long id ) {
this.id = id;
}
@ManyToMany( fetch = FetchType.EAGER )
@JoinTable(
name = "role_object_label", joinColumns = @JoinColumn(name = "role_id"),
inverseJoinColumns = @JoinColumn(name = "object_label_id"))
public Set<ObjectLabel> getObjectLabels(){
return this.objectLabels;
}
/**
* @param objectLabels the objectLabels to set
*/
public void setObjectLabels(Set<ObjectLabel> objectLabels) {
this.objectLabels = objectLabels;
}
private Set<ObjectLabel> objectLabels = new HashSet<ObjectLabel>();
}
参见:
<mapping class="com.myCompany.model.RoleObjectLabel" />
<mapping class="com.myCompany.model.ObjectLabel" />
我例外:
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.sintecmedia.model.Role.objectLabels[com.myCompany.model.ObjectLabel]
Thanks! Rivki