Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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_Hibernate_Jpa_Stripes - Fatal编程技术网

Java 与Hibernate映射关系

Java 与Hibernate映射关系,java,hibernate,jpa,stripes,Java,Hibernate,Jpa,Stripes,我仍在学习如何使用JPA注释设置这些映射,因此这可能是一个初学者的错误 我有一个用户类和一个课程类。在数据库中,每门课程的每一行都有一个用户外键(将用户视为教授该课程的教师)。因此,每个用户可以有多个课程,但每个课程只有一个用户 在映射这些类时,我编写了以下代码: @Entity public class User extends BaseModel { @OneToMany(mappedBy="course") private Collection<Course> cours

我仍在学习如何使用JPA注释设置这些映射,因此这可能是一个初学者的错误

我有一个用户类和一个课程类。在数据库中,每门课程的每一行都有一个用户外键(将用户视为教授该课程的教师)。因此,每个用户可以有多个课程,但每个课程只有一个用户

在映射这些类时,我编写了以下代码:

@Entity
public class User extends BaseModel {

 @OneToMany(mappedBy="course")
 private Collection<Course> courses;

 public void setCourses(Collection<Course> courses) { this.courses = courses; }

 public Collection<Course> getCourses() { return courses; }

}

@Entity
public class Course extends BaseModel {

 @ManyToOne
 @JoinColumn(name="user_id")
 private User user;

 public void setUser(User user) { this.user = user; }

 public User getUser() { return user; }

}
createQuery()只返回:

String query = "FROM " + entityClass.getName() + " t WHERE t." + fieldName + " = :" + fieldName;

我正在使用Stripes框架、Hibernate和Stripersist,如果这提供了任何关于错误的进一步线索的话

乍一看,似乎你应该写:

@OneToMany(mappedBy="user") 
private Collection<Course> courses; 
@OneToMany(mappedBy=“user”)
私人收藏课程;

即。在@OneToMany mappedBy中,应该指向指向当前对象的字段。

乍一看,似乎应该这样写:

@OneToMany(mappedBy="user") 
private Collection<Course> courses; 
@OneToMany(mappedBy=“user”)
私人收藏课程;

即。在@OneToMany中,mappedBy应指向指向当前对象的字段。

mappedBy表示此端的实体是关系的反向,所有者位于“其他”实体中。在您的情况下,axtavt的回答应该是:

@OneToMany(mappedBy="user")
private Collection<Course> courses;
@OneToMany(mappedBy=“user”)
私人收藏课程;

表示用户可以选择许多课程,并且课程拥有此关系的所有权。

mappedBy表示此端的实体与此关系相反,所有者位于“其他”实体中。在您的情况下,axtavt的回答应该是:

@OneToMany(mappedBy="user")
private Collection<Course> courses;
@OneToMany(mappedBy=“user”)
私人收藏课程;

声明用户可以选择许多课程,并且课程拥有此关系的所有权。

em,您没有告诉我您的问题是什么,我没有跟踪到最重要的部分。现在,您告诉我们给出NullPointerException的代码(通过exception stacktrace中的行号查找代码)getQuery中的null参数是什么?滚动日志/控制台,查看StripeSist中是否存在enty异常。请验证您的EntityManager是否为nullem,您没有告诉我们您的问题是什么,我忽略了最重要的部分。现在,您告诉了我们,给出NullPointerException的代码(通过异常堆栈跟踪中的行号找到代码)getQuery中的null参数是什么?滚动日志/控制台,并查看StripeSist中是否存在大量异常。验证EntityManager是否为空