问题描述
- hibernate +springmvc +sqlserver 2008 能新增查询,不能修改删除
-
@Transactional
public void update(Users users){// em.merge(users);
String sql =" update Users set login_name =:login_name,password =:password,phone_number =:phone_number,is_alarm =:is_alarm" + ",email=:email,user_name =:user_name,remark=:remark where user_id =:user_id "; Query query = em.createNativeQuery(sql); query.setParameter("user_id", users.getUser_id()); query.setParameter("user_name", users.getUser_name()); query.setParameter("login_name", users.getLogin_name()); query.setParameter("phone_number", users.getPhone_number()); query.setParameter("is_alarm", users.getIs_alarm()); query.setParameter("email", users.getEmail()); query.setParameter("remark",users.getRemark()); query.executeUpdate(); } <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect"/> <property name="hibernate.hbm2ddl.auto" value="auto"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.connection.autocommit" value="false"></property> <property name="hibernate.generate_statistics" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.cache.use_query_cache" value="true"/> <property name="hibernate.cache.use_second_level_cache" value="true" /> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" /> <property name="jboss.entity.manager.factory.jndi.name" value="java:/algEntityManagerFactory"/> <property name="hibernate.jdbc.fetch_size" value="25"/> <!-- <property name="hibernate.default_schema" value="hcqs"/> --> </properties>
解决方案
难道没有报错吗?你调试过没有?
解决方案二:
没有报错的,调试过。merge不会打印 sql ,用sql的会打印的。但是结果没有执行到数据库。
解决方案三:
先把sql粘到数据库执行一下,看是否成功执行,成功的话在你认为出错的地方打断点调试一下
解决方案四:
吧sql的执行语句打印出来,在hibernate里面配置一下
解决方案五:
关于hibernate的多对多查询、删除、修改
时间: 2024-12-23 09:08:59