我的 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 接口插入的条目有效!
因此,如果我创建:
- 用户 A 通过 REST API
- 用户 B 通过 SQL 语句
- 用户 C 通过 REST API
结果GET /api/users
是A, C
拔掉我所有的头发后。我想我已经把它缩小到了 Oracle 的闪回特性。因为只有 A 和 C 在闪回中有条目。因此,Hibernate 必须在幕后施展魔法。
所以我的问题是。如何使用 SQL 插入一行,以便它也获得闪回条目。
如果闪回的事情不是问题。那么如何让 Hibernate 返回所有行呢?