Hej, mam mały problem, otóż mam napisaną aplikację, która ma za zadanie dodać rekord do bazy danych.
metoda która to realizuje wygląda tak:
public boolean addUser(User userData){
factory = Persistence.createEntityManagerFactory(PERESISTENCE_UNIT_NAME);
em = factory.createEntityManager();
boolean status=false;
try {
em.getTransaction().begin();
em.persist(userData);
em.getTransaction().commit();
status = true;
} catch (RollbackException e) {
em.getTransaction().rollback();
status = false;
}
finally {
em.close();
}
return status;
}
Encja posiada:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id",unique = true)
private int id;
i konfiguracja:
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/java"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.connection.user" value="root"/>
<property name="hibernate.connection.password" value=""/>
</properties>
Wydaję mi się, że wcześniej to działało jak należy, tzn. po każdym requescie dodawało użytkownika do bazy danych, teraz dodaje tylko pierwszego, a przy kolejnych requestach ten pierwszy użytkownik zostaje zaktualizowany czy tam nadpisany.
Co może być nie tak?