我有两节课。两者都有一个名为“ entityId”的列,它们是字符串。例如:03021
。
我正在表上建立一个ManyToOne关系,该关系具有一个外键,该外键映射到表A上的entityId。
public ParentEntity parent;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "entityId", insertable = false, updatable = false)
public ParentEntity getParent() {
System.out.println(parent);
return parent;
}
public void setParent(ParentEntity parent) { this.parent = parent; }
此映射有效,但是当我点击并显示端点时,该关系将显示:
http://localhost:8080/entity/3/parent
将从ID中删除前导零。
给出此错误:
Unable to find service.models.ParentEntity with id 5933
该行的parentEntity ID为05933
,但Spring删除了前导零。
我已经配置了Rest Adapter将该ID当作主键。所有函数都将其指定为字符串。
config.withEntityLookup().forRepository(
ParentEntityRepository.class,
ParentEntity::getEntityId,
ParentEntityRepository::findByEntityId
);
这是怎么回事!?