这段代码很经典

//添加保存POJO                                                                      
for (int j = 0; j < alObject.size(); ++j)                                           
{                                                                                   
	                                                                                  
	Object o=alObject.get(j);                                                         
	if(o.getClass().getName().equals("com.ok.integration.CuxInvItemTemp"))            
	{                                                                                 
		//如果是CuxInvItemTemp 执行拆分OrgCode                                          
		                                                                                
		Class <?> TempClass=o.getClass().forName("com.ok.integration.CuxInvItemTemp");  
                                                                                    
		Field field=TempClass.getDeclaredField("orgCode");                              
		field.setAccessible(true);                                                      
		String suborgCode=field.get(o).toString();                                      
		System.out.println(suborgCode);                                                 
                                                                                    
		String[] neworgcode=suborgCode.split(";");                                      
		int size=neworgcode.length;                                                     
		//拆分orgCode,分别存入POJO对象o2                                               
		for(int x=0;x<size;x++){                                                        
			                                                                              
			Object o2=alObject.get(j).getClass().newInstance();                           
			//用Spring的BeanUtils拷贝o的属性到o2                                          
			BeanUtils.copyProperties(o, o2, o.getClass());                                
			//获取o2的setOrgCode方法,更改o2的orgCode属性值。                             
			TempClass.getMethod("setOrgCode", field.getType()).invoke(o2, neworgcode[x]); 
			session.save(o2);                                                             
			}                                                                             
		}                                                                               
	else session.save(o);                                                             
                                                                                    
}                                                                                   



更改POJO的属性,拆分保存POJO。

猜你喜欢

转载自kira616.iteye.com/blog/1284859