PotentialProject [potentialProjectID, typeOfProject]
CategoryMaster [CategoryID, CategoryName]
我想加入typeOfProject和categoryID。
@Entity
@Table(name="CategoryMaster")
public class CategoryMaster
{
@Id
@Column(name="CategoryID")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer CategoryID;
private String CategoryName;
@OneToOne
@JoinColumn(name="typeOfProject")
private PotentialProject potentialProject;
//getter
//setter
}
@Entity
@Table(name="PotentialProject")
public class PotentialProject
{
@Id
@Column(name="PotentialProjectID")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer potentialProjectID;
private int typeOfProject;
@OneToOne(mappedBy="potentialProject")
private CategoryMaster categoryMaster;
//getter
//setter
}
hibernate中的错误消息是无效的列名typeOfProject。请给我一些建议。谢谢。
答案 0 :(得分:0)
看起来这是正确的
@OneToOne(mappedBy="potentialProject")
private CategoryMaster categoryMaster;
但这不正确
@OneToOne
@JoinColumn(name="typeOfProject")
private PotentialProject potentialProject;
name
是外键列的名称!所以你的代码应该是这样的
@OneToOne
@JoinColumn(name="fk_potential_project")
private PotentialProject potentialProject;
P.S。为什么你认为我们应该浪费时间来预测你的持久化类和堆栈跟踪?为什么你不浪费时间复制粘贴所有这些东西?
答案 1 :(得分:0)
谢谢兄弟@RC& @ v.ladynev。我有一个解决方案。我将双向映射更改为单向映射。所以
@OneToOne
@PrimaryKeyJoinColumn
private CategoryMaster categoryMaster;
在CategoryMaster中没什么可做的。
谢谢兄弟们。