这是异常:org.hibernate.AnnotationException:使用@OneToMany或@ManyToMany定位未映射的类:com.org.GeopoliticaRD.models.Provincia.municipios [com.org.GeopoliticaRD.models.Municipio]
@Entity
@Table(name = "provincias")
public class Provincia implements Serializable {
@Column(name = "nombre")
private String Nombre;
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "provincia_id")
private long id;
@OneToMany(fetch=FetchType.LAZY)
private Set<Municipio> municipios;
public String getNombre() {
return Nombre;
}
public void setNombre(String nombre) {
Nombre = nombre;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Set<Municipio> getMunicipios() {
return municipios;
}
public void setMunicipios(Set<Municipio> municipios) {
this.municipios = municipios;
}
}
和
@Entity
@Table(name = "municipios")
public class Municipio implements Serializable {
@Column(name = "nombre")
private String nombre;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "municipio_id")
private long id;
private static final long serialVersionUID = 1L;
@ManyToOne
@JoinColumn(name = "provincia_id")
private Provincia provincia;
public Provincia getProvincia() {
return provincia;
}
public void setProvincia(Provincia provincia) {
this.provincia = provincia;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public boolean equals(Object obj) {
if (obj == null)
return false;
if (!this.getClass().equals(obj.getClass()))
return false;
Municipio obj2 = (Municipio) obj;
if ((this.id == obj2.getId()) && (this.nombre.equals(obj2.getNombre()))) {
return true;
}
return false;
}
public int hashCode() {
int tmp = 0;
tmp = (id + this.getNombre()).hashCode();
return tmp;
}
}
这是HibernateConfig:
<hibernate-configuration>
<session-factory name="Factory">
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/geopolitica</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"/>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.connection.autocommit">true</property>
<mapping class="com.org.GeopoliticaRD.models.Provincia"/>
<mapping class="com.org.GeopoliticaRD.models.Municipio"/>
<mapping class="com.org.GeopoliticaRD.models.Distrito"/>
</session-factory>
</hibernate-configuration>
答案 0 :(得分:0)
您还必须在mappedBy
@OneToMany
@OneToMany(fetch=FetchType.LAZY, mappedBy="provincia")