我能够检索数据、更新数据但坚持不进入数据库。我想我在这里缺少一些基本的东西。
*编辑: *Jsut 发现这个,调用 EntityManager.merge() 也不会更新数据库。如果提供了更新查询,则数据库中的值正在更新。
<bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"
scope="singleton" />
<bean id="jpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
p:showSql="true" p:databasePlatform="org.hibernate.dialect.${DIALECT}"
scope="singleton" />
<bean id="jpaEntityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:dataSource-ref="rbtDataSource" p:jpaDialect-ref="jpaDialect"
p:jpaVendorAdapter-ref="jpaVendorAdapter"
p:packagesToScan="com.onmobile.apps.ringbacktones.service.db.bean"
scope="singleton" />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
p:entityManagerFactory-ref="jpaEntityManagerFactory" scope="singleton" />
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- This automatically registers all Spring standard post-processors for
annotation-based configuration -->
<context:annotation-config />
<bean id="rbtDao" class="com.onmobile.apps.ringbacktones.service.db.dao.RBTDao"
abstract="true" p:dbManager-ref="dbManager"></bean>
<bean id="categoryDao"
class="com.onmobile.apps.ringbacktones.service.db.dao.impl.RBTCategoryDaoImpl"
parent="rbtDao"></bean>
以下是类 rbtDao 的 java 代码
@Repository
public abstract class RBTDao<T extends RBTDto> {
@PersistenceContext
private EntityManager entityManager;
protected void save(T dtoBean) {
getEntityManager().persist(dtoBean);
}
}
以下是 categoryDao 类的 java 代码
@Repository
public class RBTCategoryDaoImpl extends RBTDao<Category> {
@Transactional
public void createCategory(Category category) {
save(category);
}
Category 是必须持久化的 bean 类。
提前感谢您的帮助。