模型类
@Entity
@Table(name="RequisitionRequest")
public class Requisition {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String requestedPerson;
private String contactDetails;
private String appliedDate;
private String branch;
private String department;
private String status;
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER,mappedBy = "RequisitionRequest")
private List<Nationality> nationality;
//getters and setters
}
阶级国籍
@Entity
@Table(name="nationality")
public class Nationality {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String nationality;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "nationality_id", nullable = false)
private Requisition requisition;
//getters and setters
}
存储库类
@Repository
public interface NationalityRepository extends JpaRepository<Nationality,Long>{
}
@Repository
public interface RequisitionRepository extends JpaRepository<Requisition,Long> {
}
服务类别
@Service
public class RequisitionServiceImpl implements RequisitionService {
@Autowired
RequisitionRepository requisitionRepository;
@Override
public void save(Requisition requisition) {
requisitionRepository.save(requisition);
}
}
控制器类
@RestController
public class RequisitionController {
@Autowired
RequisitionService requisitionService;
@Autowired
RequisitionRepository requisitionRepository;
@PostMapping("/requisition/")
@CacheEvict(value = "requisitions", allEntries=true)
public ResponseEntity<Requisition> addRequisition(@RequestBody Requisition requisition) {
System.out.print(requisition);
Requisition requisitionR = new Requisition();
Requisition response = new Requisition();
requisitionR.setBranch(requisition.getBranch());
requisitionR.setDepartment(requisition.getDepartment());
requisitionR.setExpectedDateofJoin(requisition.getExpectedDateofJoin());
//requisitionR.setNationality(requisition.getNationality());
requisitionRepository.save(requisitionR);
return new ResponseEntity<Requisition>(response, HttpStatus.OK);
}
原因:org.hibernate.annotationException:mappedBy引用了未知的目标实体属性:org.hibernate.cfg.annotations.CollectionBinder.BindStartomanySecondPass(CollectionBinder.java:769)~[hibernate-core-5.0.12.final.jar:5.0.12.final](org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:719)~[hibernate-core-5.0.12.final.jar:5.0.12.final](org.hibernate.cfg.annotations.CollectionBinder.719)~[hibernate-core-5.0.12.final.jar:5.0.12.final]。hibernate.cfg.CollectionSecondPass.DoSecondPass(CollectionSecondPass.java:54)~[hibernate-core-5.0.12.final.jar:5.0.12.final]在org.hibernate.boot.internal.InflightMetadatacollectorimpl.java:1655)~[hibernate-core-5.0.12.final.jar:5.0.12.final]在org.hibernate.boot.internal.InflightMetadatacollectorimpl.java:1623)~[hibernate-core-5.0.12.final.final]在.jar:5.0.12.final]在org.hibernate.boot.model上.process.spi.MetadatabuildingProcess.Complete(MetadatabuildingProcess.java:278)~[hibernate-core-5.0.12.final.jar:5.0.12.final.final]在org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:847)~[hibernate-EntityManager-5.0.12.final.jar:5.0.12.final]在.0.12.final.jar:5.0.12.final]
我尝试了这个网站上已经提到的解决方案,但它对我不起作用。有谁能帮我解决这个问题吗
您应该在MappedBy参数中引用mapped entity中字段的名称。
像那样
mappedBy = "requisition"
问题内容: 我需要建立一个单向关系,但此错误似乎已映射通过引用未知的目标实体属性(该属性为父级) 这个孩子班 问题答案: 您需要将注释的属性设置为 psyQuestions 而不是 问题 。的值的属性是在关系的另一侧上的类字段的名称,在这种情况下 psyQuestions 所述的类PsyOptions的一侧。
您好,我是JPA Spring boot的新手,现在我正在尝试将两个表之间的连接转换为第三个表。所以我有一个医生和病人表,其中有它的属性,一个医生可以检查每个病人,一个病人可以看望每个医生。但是在一次检查中,不能有超过一个病人和一个医生。对于医生,我想保留他们检查过的患者的信息,分别是患者的信息,以及他们检查过的医生的信息。我想创建一个名为DoctorVisit的中间表,其中我有做检查的医生的id
问题内容: 我在被注释的对象中建立一对多关系时遇到问题。 我有以下几点: 然后这个 和这个 我在这里做错了什么 问题答案: 该属性正在引用,而该属性是,因此出现错误消息。因此,请将您的映射更改为: 或者将实体属性更改为(这就是我要做的)。 mapledBy参考指示“在我有一个用于查找配置的集合的东西上查找名为’customer’的bean属性。”
我第一次使用Hibernate,并且很难让它与我的模式一起工作。 我得到了"org.hibernate.注释异常:映射通过引用未知的目标实体属性:学生。教师在Faculty.all学生”。 一些学生共用一个导师。因此,我认为学生和教师的关系是多对多的,但我被告知这是多对多的关系。 Student.java Faculty.java 数据库架构: 在看了留档后,我尝试了几种不同的注释,但我看不出我做
首先,我的课程: 使用者 角色地图。JAVA 当我尝试在服务器上运行这个我有这样的异常:错误创建bean与名称'SessionFactory'定义在ServletContext资源[/WEB-INF/类/base Beans.xml]:调用init方法失败;嵌套的异常org.hibernate.注释异常:映射通过引用一个未知的目标实体属性:com.patpuc.model.ap.users在com
我对Meal和MealGroup之间的关系有问题。Hibernate返回给我:"mappdBy引用未知的目标实体属性"。我有两个实体: 我尝试删除@Join Column和mappedBy。已创建其他表,但我想加入该列。 和 谢谢你的帮助。