pg>java>hibernate
2021-09-26 14:09:57    103    0    0
ivan
Hibernate使用PostgreSQL序列生成主键。
第一步:数据库创建表、序列
    CREATE TABLE users ( id int, firstname text ) ;
    CREATE SEQUENCE SEQ_USER_ID;
第二步:实体类配置
    @Entity
    @Table(name = "users")
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_gen")
        @SequenceGenerator(name = "seq_gen", sequenceName = "seq_user_id", allocationSize = 1)
        private Long id;
        private String firstname;
    }
第三步:测试
    @Test          
    public void save(){
        User u = new User();
        u.setFirstname("name");
        userRepository.save(u);
    }
     注意:使用@SequenceGenerator时,由于allocationSize值默认是50,如果序列INCREMENT属性值为1(不设置默认是1),则需要设置allocationSize属性为1;或者设置序列属性INCREMENT的值为50。​

Pre: pg>java>mybatis

Next: pg>generate_series产生连续数据

103
Sign in to leave a comment.
No Leanote account? Sign up now.
0 comments
Table of content