问题:是否可以不使用 select someSequence from Dual 来生成序列号; ?
问题:@GenerateValue
和 @SequenceGenerator
默认情况下使用 select someSequence from Dual;
来获取 nextval对于我的身份证。但我的用户没有从双表中选择的权限,所以我只能使用 id =equence.nextval,但我不知道如何在实体类中使用它。或者我应该如何将 id 值传递给 Entity 构造函数,如sequence.nextval?
用法: Oracle DB、CrudRepository、save() 方法。
最佳答案
您需要首先在 Oracle 中创建序列:
CREATE SEQUENCE USER_SEQUENCE START WITH 1 INCREMENT BY 10;
然后注释你的类,如下所示:
@Entity
@SequenceGenerator(name="USER_SEQUENCE_GENERATOR", sequenceName="USER_SEQUENCE", initialValue=1, allocationSize=10)
public class User {
@Id
@Column(name="USER_ID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="USER_SEQUENCE_GENERATOR")
private Long userId;
}
关于java - 序列生成器: JAVA/JPA/SPRING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179162/