我想要在patient和patient之间创建oneToOne关系,但出现了以下错误:实体类ch.lestoises.monitopsy.medication.entity.MonitoringEntity中的属性patient的mappedBy值为monitoringCode,而它所拥有的实体类ch.lestoises.monitopsy.patient.entity.PatientEntity.中不存在该值如果拥有的实体类是@MappedSuperclass,则这是无效的,并且您的属性应该引用正确的子类。这是我的代码:
@Entity
@Table(name = "patient")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "PatientEntity.findByNumber", query = "SELECT p FROM PatientEntity p WHERE p.patientNumber = :number"),
@NamedQuery(name = "PatientEntity.findAllPatient", query = "SELECT p FROM PatientEntity p ")
})
public class PatientEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "pk_patient")
private Integer pkPatient;
@NotNull
@Column(name = "name")
private String name;
@NotNull
@Column(name = "firstname")
private String firstname;
@OneToOne
@JoinColumn(name="pk_monitoring")
private transient MonitoringEntity monitoringCode;
} the Monitoring class : @Entity
public class MonitoringEntity {
@Id
@Column(name = "pk_monitoring")
private Integer pkMonitoring;
@OneToOne(mappedBy="monitoringCode")
private PatientEntity patient;
}发布于 2017-11-20 20:29:34
我应该删除PatientEntity中字段monitoringCode的瞬态和@JoinColumn
https://stackoverflow.com/questions/47388546
复制相似问题