У меня есть приложение, использующее hibernate + JPA + Spring + Mysql, каждый раз, когда я запускаю приложение, в таблицу добавляются новые данные, когда я проверяю, что эти же данные снова и снова добавляются в таблицы.хотя я определил:
persistence_unit=data-mysql-create
в моем конфигурационном файле.я предполагаю, что сначала удалят таблицы, а затем создадут новые данные в таблице, верно?но, казалось, это не сработало.Ниже приведены некоторые другие конфигурации, которые у меня есть:
applicationContext.xml:
<!-- The shared JPA entity manager factory. -->
<bean id="entityManagerFactory" class="javax.persistence.Persistence"
factory-method="createEntityManagerFactory" destroy-method="close"
scope="singleton">
<constructor-arg value="${persistence_unit}" />
<constructor-arg>
<util:map>
<entry key="javax.persistence.jdbc.url" value="${db_url}" />
<entry key="javax.persistence.jdbc.user" value="${db_user}" />
<entry key="javax.persistence.jdbc.password" value="${db_password}" />
<entry key="hibernate.search.default.indexBase" value="${lucene_index_directory}" />
</util:map>
</constructor-arg>
</bean>
<!-- The data repository. -->
<bean id="dataRepository" class="com.xyz.news.api.JPADataRepository">
<constructor-arg ref="entityManagerFactory" />
</bean>
persistence.xml:
<persistence-unit name="data-mysql-create" transaction-type="RESOURCE_LOCAL">
<class>com.xyz.news.model.Data</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.user" value="news" />
<property name="javax.persistence.jdbc.password" value="news" />
<property name="hibernate.dialect" value="com.xyz.news.rdb.NewsMySQLDialect" />
<property name="hibernate.max_fetch_depth" value="3" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.min_size" value="1" />
<property name="hibernate.c3p0.acquire_increment" value="1" />
<property name="hibernate.c3p0.idle_test_period" value="60" />
<property name="hibernate.c3p0.max_statements" value="0" />
<property name="hibernate.c3p0.timeout" value="30" />
<property name="hibernate.search.default.directory_provider" value="org.hibernate.search.store.FSDirectoryProvider" />
<property name="hibernate.search.default.indexBase" value="lucene/indexes" />
</properties>
</persistence-unit>