组合键和 spring-data-jdbc

Composite Key and spring-data-jdbc

我有一个使用复合键的数据库。是否可以使用 spring-data-jdbc?我尝试了里程碑版本 1.1M2,我通过以下方式映射了我的实体:

class History {

   @ID
   @Embedded
   private CompositeHistoryID  id;
}

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

HistoryRepository extends Repository<History,CompositeHistoryID  >{
   History  findByhId(CompositeHistoryID  id)
}

我追踪了 SQL,但没有成功。嵌入式部分有效,但 where 子句不正确。它使用单个参数持有者而不是具有常规复合键结构,其中 element1=subkey1 和 element2=subkey2 等等...

我有两个问题。有什么方法可以使复合 ID 起作用吗?

第二个问题是,假设我在 findByID 之上使用了自定义 @Query 之后 SAVE 方法会起作用吗?什么是完全没有ID,如果我随便挑一个列说你就是我的ID怎么办?

@Embedded 不适用于 ID,yet。 现在所有 SQL 语句都为 id 列假设一个简单的值。 而且我认为没有解决方法。

一个可行的解决方法是创建一个视图,将复合键显示为单个字段,并触发将正确的数据写入底层 table。