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

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

public class GlueHibernateEntityCreator
extends GlueActivity<GlueContext>

GlueHibernateEntityCreator Activity. GlueHibernateEntityCreator Class는 property [entity-name]을 이용하여 Hibernate 객체를 생성 후 저장한다. Java Reflection을 이용하여 entity-name으로 지정한 Class를 생성한 후 Field ID로 GlueContext에서 값을 구하여 Setter 메소드를 실행하여 Object를 생성한다. 생성된 Object는 GlueContext에 지정한 Key값으로 Put되고 에러가 없는 경우 자동으로 생성되는 HQL을 통해 DB에 반영된다.

 Activity Property
 
 - dao : (필수) applicationContext.xml의 DAO id. Hibernate용 dao id를 입력한다.
 
 - entity-name : (필수) Hibernate Entity name을 지정한다.
  
 - entity-bindings : (선택) Entity 생성시 field data에 해당되는 ctx key. 
         entity의 field에 대응 되는 ctx의 key가 전부 같은 경우만 생략한다(대소문자 구분).
         entity의 field에 대응 되는 ctx의 key가 전부 같지 않을 경우, dataMap이 별도로 생성되므로, 대상 field 전부를 기술한다.
 
 - flush : (선택) default : false
         dao를 통한 entity create후에 flush 를 할지 말지 설정한다. 
 
 - result-key : (선택) 생성된 Entitiy 객체의 ID.
         [ default ] : {entity-name}_result.
 
 
 
 예제
 사용 예# 1
 
     <activity name="Create" class="com.poscoict.glueframework.biz.activity.hibernate.GlueHibernateEntityCreator">
         <property name="dao" value="hibernateDao" />
         <property name="entity-name" value="sample.vo.Employee" />
         <transition name="success" value="end" />
     </activity>
 
 
 사용 예# 2
 
     <activity name="Create" class="com.poscoict.glueframework.biz.activity.hibernate.GlueHibernateEntityCreator">
         <property name="dao" value="hibernateDao" />
         <property name="entity-name" value="sample.vo.Employee" />
         <property name="entity-bindings" value="empno=empno_insert|ename=ename_insert|deptno=deptno_insert" />
         <transition name="success" value="end" />
     </activity>
 
 
 
 참고 : hbm.xml
 
     <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>
 


Field Summary
 
Fields inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
dynamicProperties, logger
 
Constructor Summary
GlueHibernateEntityCreator()
           
 
Method Summary
 String runActivity(GlueContext ctx)
          Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.
 
Methods inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
commitTransaction, commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, 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

GlueHibernateEntityCreator

public GlueHibernateEntityCreator()
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–2016 POSCO ICT. All rights reserved.