SpringMvc+hibernateバックグラウンド汎用削除変更(二)

1301 ワード

(1)サービス層
サービス・レイヤは非常に簡単です.コード・インスタンスを貼り付けます.
@Transactional
@Component
public class BaseService {
@Autowired
private BaseDao<Object, String> baseDao;
/**
 *  
 * @param entity
 */
public void save(Object entity) {
baseDao.save(entity);
}
/**
 *  ID 
 * @param id
 */
public void delete(String id,Class cls) {
baseDao.delete(id,cls);
}
/**
 *  ID 
 * @param id
 * @return
 */
public Object get(String id,Class cls) {
return baseDao.get(id,cls);
}
}

(2)持久層
永続レイヤでhibernateを使用して追加、修正、クエリーを行います.永続レイヤコードのパッケージが煩雑であるため、ここではコードインスタンスの一部だけを貼り付けます.
/**
 *  id class .
 */
public T get(final PK id,Class cls) {
Assert.notNull(id, "id ");
return (T) getSession().get(cls, id);
}
/**
 *  id .
 */
public void delete(final PK id,Class cls) {
Assert.notNull(id, "id ");
delete(get(id,cls));
logger.debug("delete entity {},id is {}", entityClass.getSimpleName(), id);
}
/**
 *  .
 */
public void save(final T entity) throws HibernateException{
Assert.notNull(entity, "entity ");
getSession().saveOrUpdate(entity);
logger.debug("save entity: {}", entity);
}

(3)いくつかの解釈
このブログは主に前のブログを受けています.私はブログの幅が長すぎるべきではないと思っています.そのため、私は簡単明瞭で、人に分かりやすいことが一番重要だと思います.私の例とコードは分かりやすくて、何か問題があれば伝言を残して、私は時間があれば皆さんに返事します.