0

Below is my code ,Please help me to find out why the primary key is 0 everytime ,although the records are being inserted properly in DB. I have checked for solutions in google -it says Session SAVE method should return the correct primary key.

        sessionFactory = HibernateUtil.sessionFactory;    
        session = sessionFactory.openSession();
        session.beginTransaction();         
        Long currentTime =System.currentTimeMillis();
        int primary_key_mailID;
        EmailInfo emailObj;
        
        for(int i=0;i<mailDtos.size();i++)
        {
            try
            {       
                
                mailDTO = mailDtos.get(i);
                emailObj = new EmailInfo();                 
                
                emailObj.setDomain_id(domainNameToIdMap.get(mailDTO.getToEmail().trim()));
                emailObj.setClient_id(clientEmailToIdMap.get(mailDTO.getFromEmail().trim()));
                emailObj.setMail_cc(mailDTO.getCc()!=null? Arrays.toString(mailDTO.getCc()):"");
                emailObj.setMail_bcc(mailDTO.getBcc()!=null? Arrays.toString(mailDTO.getBcc()):"");
                emailObj.setMail_subject(mailDTO.getSubject());
                emailObj.setMail_creation_time(currentTime);
                emailObj.setStatus("new");
                emailObj.setSource("mail");                 
                
                primary_key_mailID = (Integer) session.save(emailObj);      
                System.out.println(primary_key_mailID);             
                
            }
            catch (Exception e) {                   
                e.printStackTrace();
            } 
        }
 
        session.getTransaction().commit();  
    
Shahrin
  • 134
  • 1
  • 2
  • 11
  • 1
    Possibly because you haven't set the ID column to be auto-incrementing. https://stackoverflow.com/questions/2011528/hibernate-auto-increment-id – ashu Nov 28 '20 at 04:28
  • I have tried adding in model @Id @GeneratedValue(strategy=GenerationType.AUTO) private int mail_id; now showing error : Table '[project].hibernate_sequence' doesn't exist – Shahrin Nov 28 '20 at 04:44

1 Answers1

0

adding

 @GeneratedValue(strategy = GenerationType.IDENTITY)

with the primary key column solved the issue.

Shahrin
  • 134
  • 1
  • 2
  • 11