getCurrentSession().save() 不能保存数据到数据库
getCurrentSession().save(item) 不能保存数据到数据库,帮忙看下。
代码如下:
BaseDaoImpl.java:
public class BaseDaoImpl implements BaseDao {
@Autowired
protected SessionFactory sessionFactory;
@Override
public Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
ItemDAOImpl.java:

public class ItemDAOImpl extends BaseDaoImpl implements ItemDAO {
@Override
@Transactional
public void addItem(Item item) throws DuplicateItemException {
logger.debug("ItemDAOImpl.addItem() - [" + item.getItemNumber() + "]");
try {
Item itemCheck = getItem(item.getItemNumber());
String message = "The item [" + itemCheck.getItemNumber() + "] already exists";
throw new DuplicateItemException(message);
} catch (ItemNotFoundException e) {
getCurrentSession().save(item);
}
}
data.xml:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.te.dc.*.domain</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<!-- <prop key="hibernate.current_session_context_class">thread</prop> -->
</props>
</property>
</bean>
data.xml
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
data.xml
<tx:annotation-driven transaction-manager="transactionManager"/>
代码如下:
BaseDaoImpl.java:
public class BaseDaoImpl implements BaseDao {
@Autowired
protected SessionFactory sessionFactory;
@Override
public Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
ItemDAOImpl.java:

public class ItemDAOImpl extends BaseDaoImpl implements ItemDAO {
@Override
@Transactional
public void addItem(Item item) throws DuplicateItemException {
logger.debug("ItemDAOImpl.addItem() - [" + item.getItemNumber() + "]");
try {
Item itemCheck = getItem(item.getItemNumber());
String message = "The item [" + itemCheck.getItemNumber() + "] already exists";
throw new DuplicateItemException(message);
} catch (ItemNotFoundException e) {
getCurrentSession().save(item);
}
}
data.xml:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.te.dc.*.domain</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<!-- <prop key="hibernate.current_session_context_class">thread</prop> -->
</props>
</property>
</bean>
data.xml
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
data.xml
<tx:annotation-driven transaction-manager="transactionManager"/>
...全文
相关推荐
新Hibernate SessionFactory().getCurrentSession()猫腻
NULL 博文链接:https://zgdkik.iteye.com/blog/1835667
DB(数据库查看器)
DB数据库查看器 可查询paradox及dbf数据库文件内容。
解决在keras中使用model.save()函数保存模型失败的问题
主要介绍了解决在keras中使用model.save()函数保存模型失败的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
浅谈keras保存模型中的save()和save_weights()区别
主要介绍了浅谈keras保存模型中的save()和save_weights()区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
getCurrentSession 与 openSession() 的区别
NULL 博文链接:https://bbxyhaihua.iteye.com/blog/505085


Java SE
