Подскажите пожалуйста. Есть приложение, которое использует Spring webflow + JPA на базе Hibernate. Есть такая сущность
Код:
| Код | @Entity @Table(name = "SUPER_ADMINS") public class SuperAdmin implements Serializable { private static final long serialVersionUID =1212121232423453452L;
@Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id;
private String login; private String password; private String name;
|
Есть сервис который его сохраняет в базу
| Код | @Service("superAdminService") @Repository public class JPASuperAdminService implements SuperAdminService, Serializable { private static final long serialVersionUID = 1L; private final static Logger logger = LoggerFactory.getLogger(JPASuperAdminService.class);
private EntityManager em;
@PersistenceContext public void setEntityManager(EntityManager em) { this.em = em; }
public void createFlows() { try { Query query = em.createQuery("select sa from SuperAdmin sa where sa.login = :login"); query.setParameter("login","GOLD"); List<SuperAdmin> superAdmins = query.getResultList(); for(SuperAdmin superAdmin : superAdmins) { System.out.println(superAdmin.getLogin()); }
EnterpriseFlow enterpriseFlow = new EnterpriseFlow("Registration-customer-flow"); em.persist(enterpriseFlow);
} catch (Exception e) { e.printStackTrace(); }
} }
|
Первую часть специально сделал, чтобы увидеть, есть ли select из базы В консоли Томката select выводится.
| Код | Hibernate: select superadmin0_.id as id3_, superadmin0_.login as login3_, superadmin0_.name as name3_, superadmin0_.password as password3_ from SUPER_ADMINS superadmin0_ where superadmin0_.login=?
|
То есть доступ к базе есть и select выполняется.
А на момент, когда должен отработать em.persist(enterpriseFlow), выводится только вот это
| Код | Hibernate: select nextval ('hibernate_sequence')
|
и никаких insert.
Вроде бы достаточно достаточно em.persist(entity) ? Или чего то не хватает, чтобы сохранить сущность в базе? |