SSh中关于Hibernate的问题

getHibernhttp://ask.csdn.net/#ateTemplate().update这个方法具体要怎么写,如果我要根据我一个User表的id来更新这个用户的其他信息的话,要怎么写

11个回答

 //假设User有 name、address、age三个字段
    public void updateUser(int userid){
        User s=(User)getSession().load(Student.class, 2);//根据id查询出你要修改的那条信息,例如修改第2条
        u.setName("小明");//要修改姓名(name)
        u.setAddress("xx省xx市");//要修改地址(address)
        this.getHibernateTemplate().update(u);
    }
    //注意:如果没有先查出数据就直接修改那条数据的某个字段,你的数据更新后,没有修改的字段会变成null的
    //例如:假如我上面没查询,直接修改name和address,那数据库被修改后age的值就会变成null

getHibernateTemplate().update(user),这个方法里面的参数必须是对象,如果输入只有id,可以根据id查询出对象出来,然后将对象传进去。
如:
String queryString = "from User where cid = ?";
User user = ((List) this.getHibernateTemplate().find(queryString, id)).get(0);
this.getHibernateTemplate().update(user);

如果你写的SQL语句对的话,应该是可以的。

你是要SQL语句吗???

对啊,我用SQL语句写啊。。。。。

public void update(User user){
User user2=(User)getHibernateTemplate().get(User.class, user.getUid());
user2.setUsername(user.getUsername());
user2.setPassword(user.getPassword());
this.getHibernateTemplate().update(user2);

    这样写有错吗

你那个update()是不是自己写的啊,还是生成的。

自己写的啊,当然自己写的

这样可以提交到数据库吗

sunny520baby
sunny520baby 可以的
2 年多之前 回复

String queryString = "from User where cid = ?";
User user = ((List) this.getHibernateTemplate().find(queryString, id)).get(0);
this.getHibernateTemplate().update(user);

共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SSH中Hibernate具体在项目中怎么用的

SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的 SSH中Hibernate具体在项目中怎么用的

关于使用ssh框架的问题,关于hibernate的sessionfactory

我在项目中使用了mysql生成的hibernatesessionfactory这个类,直接拷过来的,然后把他写在了applicationcontext.xml里写成了< bean id="..".../>,在运行项目的时候我看控制台里是直接初始化了的。。这个没什么问题 现在如果我再在applicationcontext.xml里面写一个< bean id="..." class=""org.springframework.orm.hibernate4.LocalSessionFactoryBean""/>,这个localsessionfactorybean应该和hibernatesessionfactory同时初始化,这样会出现什么不好的情况吗??可以同时使用这两个吗?两个对连接数据库的配置都是正确的

SSH中做hibernate映射表时报错:unknow Oracle major version

想问各位大师一个问题: 我在SSH中做hibernate映射表时报错:unknow Oracle major version[0] Oracle version为10g、MyEclipse6.5、spring2.0、Hibernate3.0 hibernate是交给spring的配置文件applicationContext.xml管理的 好象只要是hibernate没有自己单独的配置文件.就会报这样的错.相反.只要hibernate有自己单独的配置文件的话.即使加了spring框架.再去从oracle中映射表的时候就不会报错. spring配置文件中的有关hibernate的配置信息如下: #applicationContext.xml <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> <property name="url" value="jdbc:oracle:thin:@localhost:1521:MYORCL"></property> <property name="username" value="SCOTT"></property> <property name="password" value="tiger"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="datasource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> [color=red]org.hibernate.dialect.Oracle9Dialect[/color] <!--我的oracle是oracle10g.但IDE自动生成的是oracle9的方言.但即使我改为9i、10、10g之类的也不行.--> </prop> </props> </property> </bean> 我个人认为: 1.这不是数据库驱动的问题.因为如上我说.只是在hibernate用spring的配置文件时出错其他时没有错.所以并不是连接不上数据库的问题.(我用的是ojdbc14.jar包,jdbc12.jar包出现这个问题后,我用了ojdbc14.jar包依然没有解决) 2.好多都说是oracle方言的问题.但我一直不明白为什么只是出现在把hibernate用spring的配置文件时会出现这个问题.而且如果有hibernate的单独配置文件的话.hibernate.cfg.xml中的方言属性不也是IDE自动生成的吗.我并没有改过.但却没有问题出现阿?而且在spring配置文件中同样也会自动生成这个方言属性阿.是和单独的hibernate配置文件中生成的一样阿!并不是说没有阿!(所以应该不是IDE的问题)所以我就有个疑问:难道hibernate框架一定要有一个自己单独的配置文件吗?但如果确是方言问题.请您说清楚一下到底怎样改.在哪个文件里改 2.也不是什么工程目录下那些框架的一些.myhibernatedata这样的配置文件的问题.因为我打开看了.里面写的hibernate就是用的spring的配置文件applicationContext.xml.说明hibernate框架知道自己现在用的是spring的配置文件.并不是hibernate框架不知道自己的配置文件:不信.这个文件的内容如下.(都是IDE自动自动生成的): .myhibernatedata文件内容: # #Sat Dec 27 12:53:30 CST 2008 genBasicCompId=false sessionFactoryName= profile= daoSFId=sessionFactory version=3.0 jndiPath= detectM2M=false reStrategyClass=[size=medium][/size][size=large][/size] springDaoFile=src/yaye/net/conf/applicationContext.xml useJavaTypes=true keyGenerator=assigned libInstallFolder=/WebRoot/WEB-INF/lib addLibs2Project=true genVersionTag=false sessionFactoryId=sessionFactory basePersistenceClass= reSettingsFile= configFile=/login-spring/src/yaye/net/conf/applicationContext.xml createConfigFile=false addLibs2Classpath=true 3.也不题路径的问题.我都仔细检查过了.路径没有错. 不甚感激.

SSH中hibernate延迟关闭session问题

spring中延迟关闭Session我在web.xml配置了 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 加载Struts2控制器 --> <filter> <filter-name>FilterDispatcher</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>FilterDispatcher</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 将Hibernate的Session生命延长,为了解决由于Hibernate延迟加载,Session过早关闭问题 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <!-- 加载Spring容器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 然后 tomcat服务器就启动报错报下面的错 严重: Exception starting filter OpenSessionInViewFilter java.lang.NoSuchFieldError: MANUAL at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.<init>(OpenSessionInViewFilter.java:102) 望各位大哥大姐帮忙

ssh项目中hibernate查询时出问题

![图片说明](https://img-ask.csdn.net/upload/201603/06/1457234606_1857.png) ![图片说明](https://img-ask.csdn.net/upload/201603/06/1457234620_798837.png) ![图片说明](https://img-ask.csdn.net/upload/201603/06/1457234633_496936.png) ![图片说明](https://img-ask.csdn.net/upload/201603/06/1457234643_360991.png) 大神快来帮忙看看

SSH中Hibernate具体在项目中怎么用的

**Hibernate** 最新在学习Hibernate,但感觉学着有点力不从心,有人知道在项目中具体是怎么 应用的吗,或者说这个知识可以解决什么样的具体问题,求教。谢谢。

请问,关于SSH框架,myeclipse8.5如何添加 hibernate4?

请问,关于SSH框架,myeclipse8.5如何添加 hibernate4?

J2EE SSH框架中 hibernate映射文件hbm.xml相关问题

使用hbm.xml文件时,有遇到一个<sql-query>标签,在标签中我只要HQL语句加上小于<号MyEclipse就提示错误,那我该如何添加小于号呢,请问大家是怎么回事,如何解决? 具体如下图 ![CSDN移动问答][1] [1]: http://C:%5CUsers%5CYangQiCong%5CDesktop%5C%E6%88%AA%E5%9B%BE%5Cupload.jpg

SSH框架 session问题

我用的strut2 spring2 hibernate3 做了个小列子..struts.xml配置如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="demo" extends="struts-default"> <action name="list" class="listUserAction"> <result>/list.jsp</result> </action> <action name="delTUser" class="delTUserAction"> <result type="redirect">/list.action</result> </action> </package> </struts> 问题: 我点击删除user1 它会redirect 到list.action这上面来,,但是它还会出现user1这条记录,,再刷新后就没了.. 这有什么解决方法吗? 流程是不变的,, [b]问题补充:[/b] 很传统的写法 DAO 继承HibernateDaoSupport 用getHibernateTemplate().delete(user);删除 spring 的配置如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>com/demo/model/TUser.hbm.xml</value> <value>com/demo/model/TProduct.hbm.xml</value> </list> </property> </bean> --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> </bean> <bean id="TUserDAO" class="com.demo.dao.impl.TUserDAOImpl" scope="singleton"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="TUserService" class="com.demo.service.impl.TUserServiceImpl"> <property name="userdao"> <ref bean="TUserDAO" /> </property> </bean> <bean id="listUserAction" class="com.demo.action.user.ListUserAction" scope="prototype"> <property name="service"> <ref bean="TUserService" /> </property> </bean> <bean id="delTUserAction" class="com.demo.action.user.delTUserAction" scope="prototype"> <property name="service"> <ref bean="TUserService" /> </property> </bean> </beans> transactionManager <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="sessionFactory"/> </property> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="modify*" propagation="REQUIRED" /> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(* com.demo.*.*.*(..))"/> <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/> </aop:config> </beans> [b]问题补充:[/b] 我用到了hibernate的延时加载..是web.xml里面设置的 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext*.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <filter> <filter-name>opensession</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> </filter> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>opensession</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> [b]问题补充:[/b] 我加了getHibernateTemplate().flush(); 问题依然存在...很多SSH项目种都加这种延时,那么他们是怎么解决的呢..

SSH框架与SpringMVC+hibernate各组件负责什么,体现在哪?

本人java小白,最近在一个比较老的项目代码中,想了解一个问题,就是SSH与SpringMVC中,各组件都负责什么,具体体现在哪,如何体现,就是一打眼就能看出来的,尤其是Hibernate这个框架,我感觉它的存在感很低不知道哪里用到它了,是实体关系映射用到了它么?还有Spring在SSH中就在配置文件中简单的解了下耦,也没有利用注解将请求直接请求到控制器上,仅仅就用了那一点?还有就是这两种框架,对于事物都是spring来负责?

SSH整合,hibernate注解配置,无hbm.xml,映射出现问题

java实体类代码: ``` package cn.com.car.base.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.annotations.GenericGenerator; @Entity @Table(name="T_CAR") public class Car implements Serializable{ private static final long serialVersionUID = 1L; @GenericGenerator(name = "generator", strategy = "guid") @Id @GeneratedValue(generator = "generator") @Column(name = "id", unique = true, nullable = false, length = 38) private String id; @Column(name="models") private String models;//具体车型 @Column(name="type") private String type;//所属类别 @Column(name="price") private int price;//价格 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getModels() { return models; } public void setModels(String models) { this.models = models; } public String getType() { return type; } public void setType(String type) { this.type = type; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Override public String toString() { return "Car [id=" + id + ", models=" + models + ", type=" + type + ", price=" + price + "]"; } } ``` ------------------------------------------ application.xml配置 ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd" default-autowire="byName" default-lazy-init="true"> <!-- 属性文件读入 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:hibernate.properties</value> </list> </property> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${hibernate.connection.driverClassName}"/> <property name="url" value="${hibernate.connection.url}"/> <property name="username" value="${hibernate.connection.username}"/> <property name="password" value="${hibernate.connection.password}"/> </bean> <!--Hibernate SessionFatory--> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="annotatedClasses"> <list> <value>cn.com.car.base.entity.Car</value> </list> </property> <property name="hibernateProperties"> <value>classpath:hibernate.properties</value> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> </beans> ``` ---------------------------------------- hibernate.properties配置文件 ``` hibernate.show_sql=true hibernate.format_sql=false hibernate.cache=org.hibernate.cache.EhCacheProvider hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.connection.driverClassName=com.mysql.jdbc.Driver hibernate.connection.url=jdbc:mysql://localhost:3306/car hibernate.connection.username=car hibernate.connection.password=123456 hibernate.c3p0.minPoolSize=5 hibernate.c3p0.maxPoolSize=50 hibernate.c3p0.timeout=1800 hibernate.c3p0.max_statement=200 ``` ---------------------------------- DAO层 ``` package cn.com.car.base.dao.impl; import java.util.HashMap; import java.util.List; import org.hibernate.Query; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import cn.com.car.base.dao.CarDao; import cn.com.car.base.entity.Car; public class CarDaoImpl extends HibernateDaoSupport implements CarDao { @Override public List<Car> getAllCar() { String sql="from T_CAR where 1=1"; List<Car> list=this.getHibernateTemplate().find(sql); return list; } @Override public List<Car> getCarByParam(HashMap<String, String> param) { StringBuilder sql=new StringBuilder(); sql.append("select * from T_CAR where 1=1"); if(param!=null){ if(param.get("type")!=null){ String type=param.get("type"); sql.append("and type="+type); } if(param.get("price")!=null){ String price=param.get("price"); sql.append("and price="+price); } Query query = this.getSession().createSQLQuery(sql.toString()); List<Car> list=query.list(); return list; } List<Car> list=this.getHibernateTemplate().find(sql.toString()); return list; } @Override public Car getCarByModels(String models) { String hql = "from T_CAR t where 1=1 " +" and t.models=? "; Query query = this.getSession().createQuery(hql).setString(0, models); return (Car) query.list().get(0); } @Override public Car getCarById(String id) { String hql = "from T_CAR t where 1=1 " +" and t.id=? "; Query query = this.getSession().createQuery(hql).setString(0, id); return (Car) query.list().get(0); } } ``` 我是模仿别的项目搭建的,没有.hbm.xml,现在运行DAO层就出现 “org.hibernate.hql.ast.QuerySyntaxException: T_CAR is not mapped [from T_CAR where 1=1]”这样的错误。

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句?

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句? 谢谢 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/abc"></property> <property name="username" value="root"></property> <property name="password" value="123"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/fff/dao/TZgxx.hbm.xml</value> <value>com/fff/dao/TGrgzxx.hbm.xml</value></list> </property> </bean>

ssh框架中 新起线程使用hibernate

项目为ssh框架,现有需求: 项目启动时启动一个定时执行任务,处理相关逻辑。 我 希望在定时执行任务中使用hibernate,请问该如何弄 ,请大神指教。。

SSH2中的hibernate插入数据失败

搭建的ssh2中对数据进行插入,可是显示这样的错误:当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Car' 中的标识列插入显式值。 然后我上网去查解决方法,可是我的主键是设置为自动增长的呀,没有特意去填写规定的主键内容ID呀,可还是显示上面的错误,说我主键列插入了显式值,我表中的映射文件对主键ID是这样设置的:主键为Car_Index,自动增长increment,换成assigned与native也还是插入失败?? <id name="car_index"> <column name="Car_Index" /> <generator class="increment" /> </id> <property name="carId" type="java.lang.Integer"> <column name="CarID" /> </property> <property name="name" type="java.lang.String"> <column name="Name" /> </property> jsp页面填写除主键外的两个属性后就提交给action中去,然后运行getHibernateTemplate().save()方法后插入失败,而且我在这个插入的方法前还特意输出主键的内容,显示出来是null,可为什么还说插入失败呢?显示上面的错误.实在不知道错在哪里了,不知道是不是getHibernateTemplate()方法的问题?请教各位大神,谢谢大家。

SSH框架,Hibernate配置问题

类:class A{},class B extends class A{} , class C extends class A{}, class D{ private Set<A> as; ... getter setter.... } 这种情况D.hbm.xml怎么配置,里面有一多态,但是配置文件中class属性对应的是具体的表啊

关于ssh中hibernate生成方法从Action中调用报错main调用不报错

看图学生求解决没遇到过!我建测试类用main方法进来一点问题都没有正常输出i=1![图片说明](https://img-ask.csdn.net/upload/201605/10/1462859853_163808.png)![图片说明](https://img-ask.csdn.net/upload/201605/10/1462859875_651214.png)![图片说明](https://img-ask.csdn.net/upload/201605/10/1462859892_471425.png)![图片说明](https://img-ask.csdn.net/upload/201605/10/1462859834_255869.png)

SSH组合开发中,Hibernate中,主表与从表数据更新

在Hibernate中,我需要更新一条主表的数据,但同时更新多条从表的数据!我最初的构思是,用主表PO类中的Set从表集合,与从jsp中获取的更新从表数据相对比,相同的删除,不相同的添加,同时,把Set集合中的数据相同的留下,不相同的删除。 这是代码: /* * 先查询一条商品属性表的信息 * 将Vo转换为Po * 根据vo类中的ProductCategoryid字段查询需要查询一个商品类型表(CyProductCategory)PO对象 */ //查询一条商品属性表的信息 CyAttribute attribute = attributeDao.findByIdCyAttribute(att); //修改商品属性值表的数据时,先将数组与CyAttribute中的 Set cyAttributeValues 值对比 Iterator<CyAttributeValue> it = attribute.getCyAttributeValues().iterator(); //双层循环判断数组与Set cyAttributeValues 集合中的值,相等的值赋值为空 for(int i = 0; i < att.getAttVals().length; i++){ System.out.println("------------------>>>" + att.getAttVals()[i]); while(it.hasNext()){ CyAttributeValue attval = it.next(); System.out.println("--------------->>>" + attval.getAttributeValue()); if(att.getAttVals()[i].trim().equals(attval.getAttributeValue())){ att.getAttVals()[i] = null; System.out.println("---------------->>>att.getAttVals()[" + i + "]" + att.getAttVals()[i]); it.remove(); break; } System.out.println("---------------->>while"); } System.out.println("----------------------->>>for"); } //将Set cyAttributeValues 集合中的值与数组中的值不相等的全部删除 while(it.hasNext()){ CyAttributeValue attval = it.next(); if(null != attval && null != attval.getAttributeValue() && !"".equals(attval.getAttributeValue())){ attributeValueDao.delByIdCyAttributeValue(attval); } } //判断商品属性值表的数据与数组中的值不匹配时,增加不匹配数据 for(int i = 0; i < att.getAttVals().length; i++){ if(null != att.getAttVals()[i] && !"".equals(att.getAttVals()[i])){ attributeValueDao.saveCyAttributeValue( new CyAttributeValue(attribute, att.getAttVals()[i])); } } //将VO类中的数据添加到PO类中 attribute.setModifydate(StringTimestamp.stringToTimestamp()); attribute.setName(att.getName()); attribute.setCyProductCategory(categoryDao.findByIdCyProductCategory( new CyProductCategoryVo(att.getProductCategory().getId()))); attribute.setOrders(att.getOrders()); //修改 attributeDao.updateCyAttribute(attribute);

SSH-hibernate4.3.8-HibernateSessionFactory.java

-------------------------------------------------------------- 初学者问题: 1)web开发,哪里有靠谱的HibernateSessionFactory.java 及其对应的hibernate.cfg.xml?感觉自己手上的这两个文件的问题多多,各种debug,很耗时间 2) hibernate的jar包要放WEB-INF/lib目录下?又或者跟hibernate.cfg.xml里面的某个property的设置有关? sever一开始起不来,网上搜了下,把hibernate的jar包要放WEB-INF/lib目录下,server就可以起来了。奇怪,struts的jar放WEB-INF/lib目录下可以理解,怎么hibernate的也要放在这个目录下? -------------------------------------------------------------- 开发环境 eclipse: Luna Service Release 1a (4.4.1) mysql: 5.6 struts: 2.3.20 hibernate: 4.3.8 -------------------------------------------------------------- 现象: 第一次从web访问,正常。说明struts, mysql工作都是正常的。 第二次起从web访问,报下面的错误。 将下面的代码注释掉后,再从web访问,每次正常了。问题是:一直不close SessionFactory 不会有问题吗? 是否要优化HibernateSessionFactory.java? HibernateTestAction.java ``` //sf.close(); 即SessionFactory一直不close ``` ``` Debug - execute - after getSessionFactory Debug - execute - throw exception at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:201) at org.hibernate.internal.AbstractSessionImpl.getJdbcConnectionAccess(AbstractSessionImpl.java:341) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.<init>(JdbcCoordinatorImpl.java:114) at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.<init>(TransactionCoordinatorImpl.java:89) at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:258) ``` -------------------------------------------------------------- 代码: HibernateSessionFactory.java ``` package hibernate; import org.hibernate.HibernateException; import org.hibernate.Interceptor; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; /** * Configures and provides access to Hibernate sessions, tied to the current * thread of execution. Follows the Thread Local Session pattern, see * {@link http://hibernate.org/42.html }. */ public class HibernateSessionFactory { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { System.out.println("sessionFactory - on buildSessionFactory"); try { Configuration cfg = new Configuration().configure(); StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() .applySettings(cfg.getProperties()).build(); SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry); return sessionFactory; } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.out.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { System.out.println("sessionFactory - on getSessionFactory"); if (sessionFactory == null) System.out.println("build sessionFactory - fail"); else System.out.println("build sessionFactory - succe"); return sessionFactory; } } ``` hibernate.cfg.xml ``` <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <!-- <property name="hibernate.transaction.factory_class"> org.hibernate.transaction.JTATransactionFactory </property> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> --> <property name="cache.use_query_cache">true</property> <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property> <property name="cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property> <property name="connection.username">root</property> <property name="connection.password">admin</property> <property name="connection.url"> jdbc:mysql://localhost:3306/db_database10 </property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="cache.use_query_cache">true</property> <property name="cache.provider_class"> org.hibernate.cache.HashtableCacheProvider </property> <property name="show_sql">true</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <mapping resource="mapping.xml" /> </session-factory> </hibernate-configuration> ``` HibernateTestAction.java ``` public class HibernateTestAction extends ActionSupport implements ModelDriven<Book> { ... public String execute() { SessionFactory sf = HibernateSessionFactory.getSessionFactory(); try { System.out.println("Debug - execute - after getSessionFactory "); Session s = sf.openSession(); s.beginTransaction(); System.out.println("Debug - execute - after beginTransaction "); String hql = "from Book"; Query query; query = s.createQuery(hql); List<Book> books = query.list(); dataMap.put("data", books); System.out.println("Debug - execute - query.list "); for(Book bookTemp: books) { System.out.println(bookTemp.toString()); } s.getTransaction().commit(); System.out.println("Debug - execute - after commit"); s.close(); } catch (Exception e) { // TODO Auto-generated catch block System.out.println("Debug - execute - throw exception "); e.printStackTrace(); } sf.close(); dataMap.put("status", "SUCCESS"); return SUCCESS; } ... } ``` --------------------------------------------------------------

javaweb ssh问题hibernate更新null字段不更新能吗

entity class User{ private Integer id; private String name; private String age; private List<object> list; set get.... } 然后jsp页面传进来一个user对象 这个页面是修改的页面用户只能修改名字和年龄 假设传进来的 user id=1;原来的id age=11;修改过的 name=15修改过的 然后更新数据库 session.update(user); list就为null; 更新后数据库的关系就去掉了 我想说的是hibernate有办法为null的时候不更新吗

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐