package edu.sjtu.infosec.ismp.manager.TM.manager.dao;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.infosec.ismp.manager.rmi.tm.manager.model.LinkEntity;
import org.springframework.stereotype.Component;
import org.springside.modules.orm.hibernate.HibernateDao;
@Component
public class LinkDao extends HibernateDao<LinkEntity, Integer>{
private static final String DELETE_LINKS = "delete from LinkEntity where linkId in(:ids)";
/**
* 删除域集合
* @param linkEntitys
*/
public void deleteLinks(List<LinkEntity> linkEntitys) {
if(linkEntitys == null) return;
List<Long> ids = new ArrayList<Long>();
for(LinkEntity linkEntity:linkEntitys) {
ids.add(linkEntity.getLinkId());
}
Map<String, List<Long>> map = Collections.singletonMap("ids", ids);
batchExecute(DELETE_LINKS,map);
}
/**
* 保存或更新线
* @param linkEntity
*/
public void saveOrUpdateLink(LinkEntity linkEntity) {
if(getSession() != null)
getSession().saveOrUpdate(linkEntity);
}
/**
* 保存或更新线集合
* @param linkEntitys
*/
public void saveOrUpdateLinks(List<LinkEntity> linkEntitys) {
if(linkEntitys == null) return;
for(LinkEntity linkEntity : linkEntitys) {
saveOrUpdateLink(linkEntity);
}
}
}