com.poscoict.glueframework.biz.activity.hibernate
Class GlueHibernateEntityRemover

java.lang.Object
  extended by com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
      extended by com.poscoict.glueframework.biz.activity.hibernate.GlueHibernateEntityRemover

public class GlueHibernateEntityRemover
extends GlueActivity<GlueContext>

GlueHibernateEntityRemover Activity. GlueHibernateEntityRemover Class는 HQL 없이 Entity 객체를 삭제한다. 객체 종류는 property [entity-name]로 지정하며 Entity의 ID가 [entity-id]로 지정한 변수명의 값으로 삭제한다. Hibernate에서 지원하는 session.delete(entityName, entityId) API를 활용하여 Load한 결과를 Return한다. 따라서 이 Activity는 Where 조건에 컬럼을 지정할 수 없고 Hibernate의 entityId(Object의 ID)값을 알고 있어야 한다. 화면에서 entitiy-id가 String[]로 온다면 배열로 받는 entitiId에 해당하는 모든 Entity를 삭제한다.

 hbm.xml
  - Sample Entity
 <hibernate-mapping>
     <class name="sample.vo.Employee" table="EMP" dynamic-update="true">
         <id name="empno" column="EMPNO" type="big_decimal"/>
         <property name="ename" column="ENAME" type="string"/>
         <property name="job" column="JOB" type="string"/>
         <property name="mgr" column="MGR" type="big_decimal"/>
         <property name="hiredate" column="HIREDATE" type="timestamp"/>
         <property name="sal" column="SAL" type="big_decimal"/>
         <property name="comm" column="COMM" type="big_decimal"/>
         <property name="deptno" column="DEPTNO" type="big_decimal"/>
     </class>
 </hibernate-mapping>
 
 사용 예
 
 - case 1 :
 
 <activity name="삭제" class="com.poscoict.glueframework.biz.activity.hibernate.GlueHibernateEntityRemover">
     <property name="dao" value="hibernateDao" />
     <property name="result-key" value="deletCount" />
     <property name="entity-name" value="sample.vo.Employee" />
     <property name="entity-id" value="empno" />
     <transition name="success" value="end" />
 </activity> 
 
 Property 설정
 
 - dao : (필수) applicationContext.xml의 DAO id. Hibernate용 dao id를 입력한다.
 - result-key : (선택) Context에 담기는 entity-id에 해당하는 entity 삭제 결과 Key.
         [ default ] : _result.
         수행 결과는 수행건수이다.
 - entity-name : (필수) Hibernate Entity name을 지정한다.
 - entity-id : (필수) GlueContext에서 entityId값을 mapping할 변수명
         위의 예에서 GlueContext에 empno가 '7369'로 지정되어 있다면 sample.vo.Employee 객체 중 empno가 7369인 것을 삭제.
 


Field Summary
 
Fields inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
dynamicProperties, logger
 
Constructor Summary
GlueHibernateEntityRemover()
           
 
Method Summary
 String runActivity(GlueContext ctx)
          Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.
 
Methods inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, setEventList, setName, setProperty, setTransition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GlueHibernateEntityRemover

public GlueHibernateEntityRemover()
Method Detail

runActivity

public String runActivity(GlueContext ctx)
Description copied from class: GlueActivity
Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다. 결과 값은 GlueContext에 담아서 다음 Activity 또는 F/W에 전달하게 된다. 필요한 모든 Data는 GlueContext에서 호출하여 사용하게 된다.

Specified by:
runActivity in class GlueActivity<GlueContext>
Parameters:
ctx - GlueContext
Returns:
String 정상적이면 "success"를 Return 하고 비정상 처리를 원하면 "failure"를 Return 한다.
 예) 
 <transition name="success" value="BizLogic"/>
 <transition name="failure" value="ErrorHandle"/>
 ==> return "success"이면 BizLogic Activity 를 실행함.
 


Copyright © 2013–2014 POSCO ICT SW제품기술팀. All rights reserved.