Попробуйте
public User registerUser(String usr, String pwd) {
u=em.find(User.class,usr);
if(u!=null)
{
return null;
}
//Now saving...
em.getTransaction().begin();
em.persist(u); //em.merge(u); for updates
em.getTransaction().commit();
em.close();
return u;
}
Если в качестве PK выбран Identity, он будет установлен автоматически в вашем постоянном классе, если вы используете стратегию автоматического создания (спасибо Дэвиду Виктору).
Изменить на комментарий @aman_novice:
установите его в своем классе
//Do this BEFORE getTransaction/persist/commit
//Set names are just a example, change it to your class setters
u.setUsr(usr);
u.setPwd(pwd);
//Now you can persist or merge it, as i said in the first example
em.getTransaction().begin();
(...)
О @ Дэвид Виктор, извини, я забыл об этом.