Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 针对未映射类使用@OneToMany或@ManyToMany:kg.aladin.jdbc.Student.books[kg.aladin.jdbc.Book]_Java_Hibernate_Jpa - Fatal编程技术网

Java 针对未映射类使用@OneToMany或@ManyToMany:kg.aladin.jdbc.Student.books[kg.aladin.jdbc.Book]

Java 针对未映射类使用@OneToMany或@ManyToMany:kg.aladin.jdbc.Student.books[kg.aladin.jdbc.Book],java,hibernate,jpa,Java,Hibernate,Jpa,我在网上冲浪时遇到了一对多的关系问题,无法修复。我仔细检查他们引用的@Entity声明import javax.persistence.Entity在此之前,我只尝试了单向的多通,而且效果很好 @Entity @Table(name = "student") public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int id; @Co

我在网上冲浪时遇到了一对多的关系问题,无法修复。我仔细检查他们引用的@Entity声明
import javax.persistence.Entity在此之前,我只尝试了单向的多通,而且效果很好

@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;

@Column(name = "first_name")
private String firstName;

@Column(name = "last_name")
private String lastName;

@OneToMany(targetEntity = Book.class, mappedBy = "student", cascade = CascadeType.ALL)
private Set<Book> books = new HashSet<>();

public Student() {

}
 // accessors ...
}

这是我的hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">


com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/***?useSSL=false
***
***
2.
org.hibernate.dialogue.mysqldialogue
真的
更新
线

实体必须注册。您可以在xml文件中执行此操作:

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<session-factory>

    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/***?useSSL=false</property>
    <property name="connection.username">***</property>
    <property name="connection.password">***</property>


    <property name="connection.pool_size">2</property>


    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>


    <property name="show_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>

    <property name="current_session_context_class">thread</property>

    <!-- Register Classes -->
    <mapping class="kg.aladin.jdbc.Student"/>
    <mapping class="kg.aladin.jdbc.Book"/>

    <!-- Or Register Packages -->
    <mapping package="kg.aladin.jdbc"/>

</session-factory>

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/***?useSSL=false
***
***
2.
org.hibernate.dialogue.mysqldialogue
真的
更新
线
另请参见:


我希望它能有所帮助:-)

实体必须注册。您可以在xml文件中执行此操作:

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<session-factory>

    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/***?useSSL=false</property>
    <property name="connection.username">***</property>
    <property name="connection.password">***</property>


    <property name="connection.pool_size">2</property>


    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>


    <property name="show_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>

    <property name="current_session_context_class">thread</property>

    <!-- Register Classes -->
    <mapping class="kg.aladin.jdbc.Student"/>
    <mapping class="kg.aladin.jdbc.Book"/>

    <!-- Or Register Packages -->
    <mapping package="kg.aladin.jdbc"/>

</session-factory>

com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/***?useSSL=false
***
***
2.
org.hibernate.dialogue.mysqldialogue
真的
更新
线
另请参见:

我希望有帮助:-)

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<session-factory>

    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/***?useSSL=false</property>
    <property name="connection.username">***</property>
    <property name="connection.password">***</property>


    <property name="connection.pool_size">2</property>


    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>


    <property name="show_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>

    <property name="current_session_context_class">thread</property>

    <!-- Register Classes -->
    <mapping class="kg.aladin.jdbc.Student"/>
    <mapping class="kg.aladin.jdbc.Book"/>

    <!-- Or Register Packages -->
    <mapping package="kg.aladin.jdbc"/>

</session-factory>