Hibernate不返回手动插入的行

时间:2018-09-18 15:20:05

标签: oracle hibernate spring-boot spring-data-jpa flashback

我的jpa存储库遇到问题,不会返回通过良好的旧SQL手动插入数据库(Oracle)中的行

Insert into SYSTEM.USER (ID,CREDENTIALS,ISADMIN) values (USERSEQ.nextval,'foo',1);

我的Jpa存储库

@RepositoryRestResource
public interface UserRepository extends JpaRepository<User, Long> {}

用户实体

@Data
@Entity
public class User {
  @Id
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idgen")
  @SequenceGenerator(initialValue = 1, allocationSize = 1, name = "idgen", sequenceName = "userseq")
  private Long id;

  @NotNull
  private String credentials;

  private boolean isAdmin;
}

超级奇怪的是,我通过REST接口插入的条目有效!

所以,如果我创建:

  • 通过REST API的用户A
  • 用户B通过SQL语句
  • 通过REST API的用户C

GET /api/users的结果为A, C

拔出我所有的头发后。我认为我已将其范围缩小到Oracle具有的闪回功能。因为只有A和C在闪回中具有条目。因此,Hibernate必须在后台做一些魔术。

所以我的问题是。如何使用SQL插入行,以便它也获得闪回条目。

如果闪回不是问题。那么,如何使Hibernate返回所有行?

0 个答案:

没有答案