hybris 相关的一些狗子 Model对象 xml的配置

配置好这个,hybris可以在hmc中update帮你生产数据库表跟model对象(虽然没有mybatis的那种逆向工程快,但也蛮方便的)

在你项目core下面的resources下面的项目名-items.xml  

		
			
				日志模型对象
				
				
					
						唯一id
						
						
					
					
						用户id
						
						
					
					
						员工id
						
						
					
					
						错误信息 最大512个字符,超过截取
						
						
					
					
						外部调用说明e
						
						
					
					
						外部调用url地址
						
						
					
					
						外部调用的请求包 1024长
						
						
                           
                              TEXT
                           
                        			
					
					
						外部调用的返回包
						
						
						   
                              TEXT
                           
						
					
					
						内部bean的调用方法名,便于反射调用
						
						
					
					
					
						内部bean的调用方法的返回信息 json保存
						
						
					
					
						内部调用的bean名,便于从spring容器中获取bean对象
						
						
					
					
						订单id
						
						
					
					
						调用时间
						
						
					
					
						重发的父请求id,便于关联在一起
						
						
					
					
						源模块名
						
						
					
					
						状态 -1 失败 1 正常
						
						
					
					
						目标模块名
						
						
					
				
			
			
				日志bean方法的参数格式
				
				
					
						参数的全路径类名 便于反射创建
						
						
					
					
						参数的泛型类名
						
						
					
					
						参数值
						
						
						   
                              TEXT
                           
						
															
				
			
		

上面是2个model的配置

typegroup  分组,

itemtype   你要创建的model 

table是表名

items主要有4部分的配置,collectiontypes、enumtypes、relations、itemtypes这边主要介绍下后面2部分,itemtyes主要配置的就是model跟表(如上代码),relations主要配置的是表与表的关系,一对多,多对多这种(代码如下)

		
		
			
			
				
			
			
				
			
		
		
		
			日志一对多
			
				
			
			
				
			
		
再多说几句,在hybris里面除了model还有种数据data,在facades层需要进行着2中数据的转换,所以你需要写一个Populator这个类(如下)
public class RequestLogPopulator implements Populator
{
   private SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

	/*
	 * (non-Javadoc)
	 *
	 * @see de.hybris.platform.converters.Populator#populate(java.lang.Object, java.lang.Object)
	 */
	@Override
	public void populate(RequestLogModel requestLogModel, RequestLogData requestLogData) throws ConversionException

	{
		if (null != requestLogModel)
		{
			requestLogData.setCode(requestLogModel.getCode());
			requestLogData.setExceptionInfo(requestLogModel.getExceptionInfo());
			requestLogData.setOrderId(requestLogModel.getOrderId());
			requestLogData.setEmployeeId(requestLogModel.getEmployeeId());				
			requestLogData.setCustomerId(requestLogModel.getCustomerId());		
			requestLogData.setSourceModule(requestLogModel.getSourceModule());		
			requestLogData.setTargetModule(requestLogModel.getTargetModule());	
			requestLogData.setExternalCallingDesc(requestLogModel.getExternalCallingDesc());
			requestLogData.setExternalCallingUrl(requestLogModel.getExternalCallingUrl());
			requestLogData.setRestartedBasedOnRequest(requestLogModel.getRestartedBasedOnRequest());
			//requestLogData.setExternalRequestBody(requestLogModel.getExternalRequestBody());
			//requestLogData.setExternalResponseBody(requestLogModel.getExternalResponseBody());
			if (requestLogModel.getStatus() != null)
			{
				requestLogData.setStatus(requestLogModel.getStatus());
			}
			if (requestLogModel.getRequestTime() != null)
			{
				String dateTime=df.format(new Date(requestLogModel.getRequestTime().longValue()));
				requestLogData.setRequestTime(dateTime);
			}
		     
		}
	}

}
其他的倒是没什么说的,我也是刚入hybris,算是总结下这段时间的心得吧,有说的不对的地方,请见谅!

你可能感兴趣的:(hybris)