- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我需要建立一对多关系,但出现此错误mappedBy 引用了一个未知的目标实体属性这是父 Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property
package com.dating.model;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="question")
public class PsyQuestions {
@Id
@GenericGenerator(name="autoGen" ,strategy="increment")
@GeneratedValue(generator="autoGen")
@Column(name="questionid")
private long psyQuestionId;
@Column(name="questiontext")
private String question;
@OneToMany(fetch = FetchType.LAZY,mappedBy="question")
private List<PsyOptions> productlist=new ArrayList<PsyOptions>();
public PsyQuestions() {
super();
}
public List<PsyOptions> getProductlist() {
return productlist;
}
public void setProductlist(List<PsyOptions> productlist) {
this.productlist = productlist;
}
public long getPsyQuestionId() {
return psyQuestionId;
}
public void setPsyQuestionId(long psyQuestionId) {
this.psyQuestionId = psyQuestionId;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
}
和这个 child 类
package com.dating.model;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="option")
public class PsyOptions {
@Id
@GenericGenerator(name="autoGen" ,strategy="increment")
@GeneratedValue(generator="autoGen")
@Column(name="optionid")
private long psyOptionId;
@Column(name="optiontext")
private String optionText;
@JoinColumn(name = "questionid")
@ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
PsyQuestions psyQuestions;
public PsyOptions() {
super();
}
public PsyQuestions getPsyQuestions() {
return psyQuestions;
}
public void setPsyQuestions(PsyQuestions psyQuestions) {
this.psyQuestions = psyQuestions;
}
public long getPsyOptionId() {
return psyOptionId;
}
public void setPsyOptionId(long psyOptionId) {
this.psyOptionId = psyOptionId;
}
public String getOptionText() {
return optionText;
}
public void setOptionText(String optionText) {
this.optionText = optionText;
}
}
最佳答案
您需要将 @OneToMany
注释的 mappedBy
属性设置为 psyQuestions 而不是 question。 mappedBy
属性的值是关系另一端的类字段的名称,在本例中 ManyToOne
端的 psyQuestions类 PsyOptions。
public class PsyQuestions {
....
@OneToMany(fetch = FetchType.LAZY,mappedBy="psyQuestions")
private List<PsyOptions> productlist=new ArrayList<PsyOptions>();
....
关于java - 由 : org. hibernate.AnnotationException: mappedBy 引用未知目标实体属性引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20454945/
我有以下简单的设计: (来源:kawoolutions.com) 这基本上是 JPA 不支持的非不相交继承的一种解决方法。人员可以单独存在,但可以选择有单个玩家实体、单个教练实体或两个实体来完成逻辑。
You create a bidirectional one-to-one relationship using fields on both classes, with an annotation
我有一个查询,我碰巧有一个名为“SGOrdCompra”的表,将他与“SGPersona”链接了两次,表如下: Sgordcompra.java @Entity @Table(name = "`SGO
我想我理解属性 mappedBy 如果放入 @OneToMany 字段中意味着什么(即表示字段类型的表具有该表的外键)声明了 @OneToMany(mappedBy="...") ,但我不完全理解它的
我想将现有的 JPA 实体拆分为 POJO 父类(super class)和实体子类。我想将 POJO 父类(super class)放入一个库项目中,该项目可以被其他不使用 JPA 的项目引用。 我
例如,当我们在@OneToMany 中使用mappedBy 注解时,我们是否提到了类名或表名? 一个例子: @Entity @Table(name = "customer_tab") public c
我在带注释的对象中设置一对多关系时遇到问题。 我有以下几点: @MappedSuperclass public abstract class MappedModel { @Id @Ge
我创建了三个类 - User、UserSubscription 和 Subscription。我希望 UserSubscription 表中的用户应由 User 表中现有的用户引用。那么,如何使用ma
我有一个带有 Hibernate 注释的 Java 类,它引用另一个 POJO: @Entity @Table(name = "Patient_Visit_Transaction") public c
我仍然不确定哪种是处理 em.remove(entity) 的最佳实践,该实体位于 JPA 中使用 mappedBy 映射的多个集合中。 考虑像 Property 这样的实体引用三个其他实体:Desc
我正在开发 java 应用程序并使用 JPA 与数据库交互,我有两个重要的问题: 我想在两个类之间建立双向链接,因为我需要访问双方的数据。让我们以 A * -1 B 的两个类 A 和 B 为例(如 U
Foo 有: @ManyToMany(mappedBy = "foos") private Set bars 而酒吧有: @ManyToMany private Set foos 除了table是叫f
这个问题已经有答案了: What is cascading in Hibernate? [duplicate] (2 个回答) 已关闭 4 年前。 我正在学习 Hibernate 并遇到一个问题:ma
我有三个类,Site、GoupIP 和 IP 一个站点有一个或多个 GroupIP。一个 GroupIP 有一个或多个 IP。 代码如下: 网站 @Entity @Table(name = "site
当我想使用 persist 方法将新的 UserDetails 对象添加到我的数据库时,我的 JPA 数据库出现问题。然后我得到异常:“关键 hibernate 的重复条目 2”此异常与产品类相关。我
我在 Parent 中提供了一个简单的 oneToMany 关系,并在 Chile 实体类中提供了相应的 ManyToOne: 家长: @Entity @Table(name = "FormExtra
当我尝试获得一对多和多对一关系时,车辆表上的连接列出现问题。为什么 hibernate 正在搜索列 USER_ID 而不是将其连接到表中?我知道加入的目的,但是当我尝试将它与映射的 By 属性一起使用
错误:hibernate.AnnotationException: mappedBy 引用未知的目标实体属性 我知道为什么会出现错误,但我盯着它看的时间越长,就越找不到它:)。我只需要另一个人的观点。
首先,我的类(class): 用户 package com.patpuc.model; import java.util.List; import javax.persistence.Column;
下面两个声明到底有什么区别 B是拥有方 @Entity class A { @Id int id; @OneToOne B b; } @Entity class B { @Id
我是一名优秀的程序员,十分优秀!