复合密钥和弹簧数据 jdbc

我有一个使用复合键的数据库。是否可以利用弹簧数据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


慕容森
浏览 88回答 1
1回答

拉莫斯之舞

“否”还不适用于&nbsp;Ids。现在,所有 SQL 语句都假定 id 列有一个简单的值。我不认为有解决方法。@Embedded一种可能有效的解决方法是创建一个视图,该视图将复合键显示为单个字段,并具有将正确数据写入基础表的触发器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java