原生查询无法从crudRepository-Spring?

时间:2019-03-06 10:16:21

标签: java sql spring jpa hibernate-envers

在spring,jpa,hibernate-envers(历史记录)上有应用

我有两个表UserRecordUserRecord_AUD(由hibernate-enver创建) 在Jpa中,我有crudRepository从数据库中读取数据。

我的crudRepository仅为UserRecord表创建。

如何使用UserRecord_AUD表中的userRecordRepository获取所有记录?

所以,我的存储库

@Repository
public interface UserRepository extends CrudRepository<UserRecord, String> {}

我试图创建自定义本机方法

@Query(value = "select h.PR_KEY, h.name, h.surname, h.age, h.REV as VERSION, h.META from USRERECORD_AUD h where h.PR_KEY in (?1)", nativeQuery = true)
List<USerRecord> findHistoryByIds(List<String> ids);

但是,如果我向同一用户写入3次(1次写入和2次更新),我希望 UserRecord表中只有1条记录(新鲜),历史记录中有2条记录

我的预期结果是从UserRecord_AUD获得所有记录

____________________________
11-22 Tanya Ivanova 22 1 ...
11-22 Tanya Ivanova 4  2 ...
11-22 Tanya Ivanova 23 3 ...
____________________________

我的实际结果从UserRecord表中返回了3条相同的记录。

____________________________
11-22 Tanya Ivanova 23 3 ...
11-22 Tanya Ivanova 23 3 ...
11-22 Tanya Ivanova 23 3 ...
____________________________

0 个答案:

没有答案