Používám hibernate.
O zamykání nic nevím, tudíž by být žádné nemělo.
Standardní uložení probíhá pomocí:
Vytvoření továrny při startu aplikace):
emf = Persistence.createEntityManagerFactory("neco");
Následný save do databáze: EntityManager em;
em = emf.createEntityManager();
info_messageDao.startTransaction(em);
try {
info_messageDao.save(info_message, em);
} catch (Exception e) {
info_messageDao.rollbackTransaction(em);
}
info_messageDao.commitTransaction(em);
em.close();
Název tabulek a dat se může zde lišit, ve skutečné aplikaci je vše OKpersistence je:
<persistence-unit name="neco" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistencePr ovider</provider>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/donutek_db"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/ >
<property name="hibernate.validator.apply_to_ddl" value="true" />
<property name="connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProv ider"/>
<property name="hibernate.c3p0.min_size" value="5"/>
<property name="hibernate.c3p0.max_size" value="20"/>
<property name="hibernate.c3p0.timeout" value="300"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
<property name="hibernate.c3p0.idle_test_period" value="300"/>
</properties>
</persistence-unit>