【发布时间】:2018-11-09 06:11:25
【问题描述】:
我正在尝试在两个实体(PartnerDetails 和 JWTData 之间建立 OneToOne 关系。但是,我只想将 PartnerDetails 实体的主键存储在 JWTData 中,而不是整个对象,例如这个。
@Entity
@Data
@Table(name = "partner_details")
public class PartnerDetails {
@Id
@Column(name = "partner_id")
private String partnerId;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "partnerId")
private JWTData jwtData;
}
@Entity
@Data
@Table(name = "jwt_data")
@NoArgsConstructor
public class JWTData {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne(targetEntity = PartnerDetails.class)
@JoinColumn(name = "partner_id", foreignKey = @ForeignKey(name = "fk_jwt_partnerdetails_partnerid"))
private String partnerId;
@NotBlank
private String secret;
}
但是在使用存储库获取JWTData 之后,Hibernate 无法将字符串转换为PartnerDetails。这可以用其他方式完成吗?
【问题讨论】:
-
请添加表架构
-
你需要在
JWTData类中有PartnerDetails对象才能得到它