Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Hibernate不将我的类映射为一对多关系?_Java_Mysql_Hibernate_Criteria - Fatal编程技术网

Java 为什么Hibernate不将我的类映射为一对多关系?

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

这是一个例外:org.hibernate.AnnotationException:com.org.geopoliticcard.models.Provincia.municipios[com.org.geopoliticcard.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;
                }

            }
这是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")