为了账号安全,请及时绑定邮箱和手机立即绑定

复合密钥和弹簧数据 jdbc

复合密钥和弹簧数据 jdbc

慕容森 2022-09-21 17:28:42

我有一个使用复合键的数据库。是否可以利用弹簧数据jdbc?我尝试了里程碑版本1.1M2,其中我以下列方式映射了我的实体:


class History {


   @ID

   @Embedded

   private CompositeHistoryID  id;

}

然后在我的存储库类中,我添加了


HistoryRepository extends Repository<History,CompositeHistoryID  >{

   History  findByhId(CompositeHistoryID  id)

}

我跟踪了SQL,但它不起作用。嵌入的部分工作正常,但 where 子句不正确。它使用单个参数持有者,而不是具有常规的复合键结构,其中元素1 =子键1和元素2= 子键2等等...


我有两个问题。有没有办法使复合 ID 工作?


第二个问题是,让我们假设我在 SAVE 方法之后是否工作(如果?什么是根本没有ID,如果我只是选择一个随机列并说你将是我的ID怎么办?@QueryfindByID


查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1470条经验 获得超10个赞

“否”还不适用于 Ids。现在,所有 SQL 语句都假定 id 列有一个简单的值。我不认为有解决方法。@Embedded

一种可能有效的解决方法是创建一个视图,该视图将复合键显示为单个字段,并具有将正确数据写入基础表的触发器。


查看完整回答
反对 回复 2022-09-21

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信