繁体   English   中英

复合键和 spring-data-jdbc

[英]Composite Key and spring-data-jdbc

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

class History {

   @ID
   @Embedded
   private CompositeHistoryID  id;
}

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

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

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

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

第二个问题是,假设我在@Query之上使用自定义@Query之后 SAVE 方法findByID会起作用? 什么是根本没有ID,如果我只是随机选择一个列并说你将成为我的ID怎么办?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM