My entity id is generated, and it was working fine when I use DAO instead of Spring data JPA.
@Id @Column(name = TABLE_COLUM_NAME_ID) @GeneratedValue private
I guess you didn't have a @Transactional annotation on your Service method.