Java Spring数据JDBC反向OneToOne导航

Java Spring数据JDBC反向OneToOne导航,java,spring-data,mapping,one-to-one,spring-data-jdbc,Java,Spring Data,Mapping,One To One,Spring Data Jdbc,我有一个现有的数据方案,我不愿意改变。有两个实体/表:parent和child,其中parent具有外键列child\u id。这是一对一的关系 问题是:幕后的魔术希望子表具有外键列(异常提到一个…JOIN ON child.parent=parent.id)。是否有可能将其反转以匹配现有方案?(我知道hibernate是这样,但我想继续使用JDBC) 相关代码: @Repository public interface ParentRepository extends CrudReposito

我有一个现有的数据方案,我不愿意改变。有两个实体/表:
parent
child
,其中
parent
具有外键列
child\u id
。这是一对一的关系

问题是:幕后的魔术希望子表具有外键列(异常提到一个
…JOIN ON child.parent=parent.id
)。是否有可能将其反转以匹配现有方案?(我知道hibernate是这样,但我想继续使用JDBC)

相关代码:

@Repository
public interface ParentRepository extends CrudRepository<Parent, Long>{
}

有些相关的问题:

目前Spring数据JDBC端不支持此功能

我想到的一个选项是创建一个视图,该视图已经执行了连接,并且具有instead of触发器来对
子表执行正确的操作。

你可以这样做。

这很让人困惑(至少对我来说),但我试图坚持使用
Spring数据JDBC
,你的链接是指向
Spring数据JPA
-文档的。如果我将
implementation'org.springframework.boot:spring boot starter data jpa'
添加为依赖项(在我的
build.gradle
中),存储库将停止工作(有和没有
@repository
)。删除
spring boot starter数据jdbc
-依赖项修复了它,但会导致其他问题。关于您的评论,请参阅此问答:@jenschauder该评论是对另一条评论的回答,已删除。它有一些链接,指向如何做我想做的事情,但使用的是
jpa
。仅仅把它作为引用就破坏了一切,所以我放弃了这个想法。我理解。但是,当你尝试这种方法时,你遇到了一个问题,这个问题在链接的问题中得到了描述和解决。哦,显然,我需要仔细查看问答和我的控制台输出,感谢你指出。视图实际上是1:1关系的可行选项(就像我最初的问题一样)。但现在我有一个后续问题:我有1:n,希望从它的n侧导航到1侧(在java中),即,不是
Parent
have
Set
我需要
Child
有一个
Parent
字段。这也是可能的吗?这是一个好问题,简短的回答是“是”。要得到正确的答案,请提出正确的问题,以便其他人也能找到。8-)既然你说这是一个好的,这里是:
@Data
public class Parent {
    @Id
    private Long id;

    private Child child;
}
@Data
public class Child {
    @Id
    private Long id;
}