Java 为什么Hibernate不将我的类映射为一对多关系?
这是一个例外:org.hibernate.AnnotationException:com.org.geopoliticcard.models.Provincia.municipios[com.org.geopoliticcard.models.Municipio]Java 为什么Hibernate不将我的类映射为一对多关系?,java,mysql,hibernate,criteria,Java,Mysql,Hibernate,Criteria,这是一个例外:org.hibernate.AnnotationException:com.org.geopoliticcard.models.Provincia.municipios[com.org.geopoliticcard.models.Municipio] @Entity @Table(name = "provincias") public class Provincia implements Serializabl
@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;
}
}
这是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>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/geopolitica
根
org.hibernate.dialogue.mysql5dialogue
真的
您还必须在@OneToMany
@OneToMany(fetch=FetchType.LAZY, mappedBy="provincia")
我不认为这是一个理由。没有
mappedBy
hibernate5.1也会在Municipio
中创建联接表和联接列。当然,这很奇怪,但这并不是例外的原因。另一个原因可能是@manytone(targetEntity=Provincia.class)
请始终添加完整堆栈跟踪。
@OneToMany(fetch=FetchType.LAZY, mappedBy="provincia")