hibernate - 如何在 Spring Boot JPA 中加入两个表,我的代码出错了
问题描述
嗨,我想从 oracle 加入我的表,如何加入这个表?我正在使用 jpa 在 spring boot 上加入我的表。这是我的代码:
package com.emerio.rnd.bali.oraclemongoservice.entity;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import com.emerio.rnd.bali.oraclemongoservice.entity.TblmFormManagement;
@Table(name = "TBLM_FORM")
@Entity
public class TblmForm{
// @Column(name = "PKID")
@Id
private Long pkid;
// @Column(name = "FORMCODE")
private String formcode;
@OneToOne(cascade=CascadeType.ALL, mappedBy="TblmFormManagement")
private TblmFormManagement tblmFormManagement;
public TblmFormManagement getTblmFormManagement(){
return tblmFormManagement;
}
public void setMapping(TblmFormManagement tblmFormManagement){
this.tblmFormManagement=tblmFormManagement;
}
// @Column(name = "REPORTITEM")
// private String reportitem;
// @Column(name = "REPORTFIELD")
// private String reportfield;
public TblmForm() {
}
public Long getPkid() {
return this.pkid;
}
public void setPkid(Long pkid) {
this.pkid = pkid;
}
public String getFormcode() {
return this.formcode;
}
public void setFormcode(String formcode) {
this.formcode = formcode;
}
// public String getReportitem() {
// return this.reportitem;
// }
// public void setReportitem(String reportitem) {
// this.reportitem = reportitem;
// }
// public String getReportfield() {
// return this.reportfield;
// }
// public void setReportfield(String reportfield) {
// this.reportfield = reportfield;
// }
// @OneToOne(mappedBy = "tblmForm")
// public Mapping getMapping() {
// return mapping;
// }
// public void setBook(Mapping mapping) {
// this.mapping = mapping;
// }
}
我的第二个实体:
package com.emerio.rnd.bali.oraclemongoservice.entity;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Table(name = "TBLM_FORMMANAGEMENT")
@Entity
public class TblmFormManagement{
// @OneToOne(mappedBy = "mapping")
@Id
private Long pkid;
private String formcode;
private String reportitem;
private String reportfield;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "pkid", nullable=true)
private TblmForm tblmForm;
public TblmForm getTblmForm() {
return tblmForm;
}
public void setTblmForm(TblmForm tblmForm) {
this.tblmForm = tblmForm;
}
public TblmFormManagement() {
}
public Long getPkid() {
return this.pkid;
}
public void setPkid(Long pkid) {
this.pkid = pkid;
}
public String getFormcode() {
return this.formcode;
}
public void setFormcode(String formcode) {
this.formcode = formcode;
}
public String getReportitem() {
return this.reportitem;
}
public void setReportitem(String reportitem) {
this.reportitem = reportitem;
}
public String getReportfield() {
return this.reportfield;
}
public void setReportfield(String reportfield) {
this.reportfield = reportfield;
}
// @OneToOne(cascade = CascadeType.ALL)
// @JoinColumn(name = "pkid")
}
我收到错误:
上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称为“entityManagerFactory”的 bean 创建错误: init 方法调用失败;嵌套异常是 org.hibernate.AnnotationException: Unknown mappedBy in: com.emerio.rnd.bali.oraclemongoservice.entity.TblmForm.tblmFormManagement,引用属性未知:com.emerio.rnd.bali.oraclemongoservice.entity.TblmFormManagement.Mapping
有什么想法可以解决我的问题吗?谢谢你
解决方案
尝试这个。
package com.emerio.rnd.bali.oraclemongoservice.entity;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import com.emerio.rnd.bali.oraclemongoservice.entity.TblmFormManagement;
@Table(name = "TBLM_FORM")
@Entity
public class TblmForm{
@Id
private Long pkid;
@Column(name = "FORMCODE")
private String formcode;
@OneToOne(cascade=CascadeType.ALL, mappedBy="tblmForm")
private TblmFormManagement tblmFormManagement;
public TblmFormManagement getTblmFormManagement(){
return tblmFormManagement;
}
public void setMapping(TblmFormManagement tblmFormManagement){
this.tblmFormManagement=tblmFormManagement;
}
public Long getPkid() {
return this.pkid;
}
public void setPkid(Long pkid) {
this.pkid = pkid;
}
public String getFormcode() {
return this.formcode;
}
public void setFormcode(String formcode) {
this.formcode = formcode;
}
.
package com.emerio.rnd.bali.oraclemongoservice.entity;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Table(name = "TBLM_FORMMANAGEMENT")
@Entity
public class TblmFormManagement{
@Id
private Long pkid;
private String formcode;
private String reportitem;
private String reportfield;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "pkid", nullable=true)
private TblmForm tblmForm;
public TblmForm getTblmForm() {
return tblmForm;
}
public void setTblmForm(TblmForm tblmForm) {
this.tblmForm = tblmForm;
}
public TblmFormManagement() {
}
public Long getPkid() {
return this.pkid;
}
public void setPkid(Long pkid) {
this.pkid = pkid;
}
public String getFormcode() {
return this.formcode;
}
public void setFormcode(String formcode) {
this.formcode = formcode;
}
public String getReportitem() {
return this.reportitem;
}
public void setReportitem(String reportitem) {
this.reportitem = reportitem;
}
public String getReportfield() {
return this.reportfield;
}
public void setReportfield(String reportfield) {
this.reportfield = reportfield;
}
// @OneToOne(cascade = CascadeType.ALL)
// @JoinColumn(name = "pkid")
}
推荐阅读
- linq - 使用 Entity Framework Core 复杂更新多行
- html - 我可以自定义网页的显示设置吗?
- php - 如何在 nginx 中设置子文件夹
- file - 在 nasm 程序集 mac x86_64 中制作/打开/写入文件,64 位不工作
- vb.net - vb.net中的数据表保留最右边的数据列并删除空列
- spring-boot - 如何使用 Spring Boot buildpack 构建带有附加包的 OCI 映像
- javascript - vue-cli 4 和 webpack 将引导主题 js 和 css 文件集成到 vue 3 应用程序中
- javascript - 复制图像而不是移动它们 | InDesign Javascript
- postgresql - 如何找出 PostgreSQL 执行了哪些操作(查询)
- angular - 从 Angular observable 中移除 null 或 undefined