com.poscoict.glueframework.biz.activity.hibernate
Class GlueHibernateSearch
java.lang.Object
com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
com.poscoict.glueframework.biz.activity.hibernate.GlueHibernateSearch
public class GlueHibernateSearch
- extends GlueActivity<GlueContext>
GlueHibernateSearch Activity. GlueHibernateSearch Class는 Hibernate용 Select Query(HQL)를 실행하고 그 결과값을 저장 하게 된다. 추가적인 property인 method-name을
사용하면, Value Object에 정의되어 있는 Business Logic Method를 수행할 수 있다.
Activity Property
- dao : (필수) applicationContext.xml의 DAO id. Hibernate용 dao id를 입력한다.
- sql-key : (필수) xxx-hquery.glue_sql의 query id.
Hibernate용 Query(HQL)를 지정하며, named query 이여야 한다.
- result-key : (선택) Context에 담기는 Query 수행 결과 Key.
[ default ] : {sql-key}_resultList.
수행 결과는 ValueObject의 List형태이다.
- entity-bindings : (선택) hql의 named param과 mapping되는 entity property 또는 id name을 정의한다.
hql의 named param과 대응 되는 entity의 property 또는 id 가 같을 경우 생략한다.
named param에 binding 되는 값은 entity field의 type으로 Casting 하는 근거가 된다.
- param-bindings : (선택) hql의 named param과 binding에 사용되는 값과 Mapping 되는 Key.
hql의 named param과 대응 되는 ctx의 key가 전부 같은 경우만 생략한다(대소문자 구분).
hql의 named param과 대응 되는 ctx의 key가 전부 같지 않을 경우, binding data를 위한 별도의 Map이 생성되므로
named param과 ctx key가 같은것도 기술한다.
- method-name : (선택)Value Object에 정의되어 있는 Method 명
- method-param : (선택)Method에 넘겨줄 Parameter 값.
method-param0, method-param1, ... method-paramN과 같이 지정 가능하다.
Reflection을 이용하여 Invoke하는 메소드의 파라미터는 String형만 가능하다. 즉 위의 예에서 VO에는
setComm(String) 메소드가 정의되어 있어야 하며 setComm(BigDecimal)만 정의되어 있다면 NoSuchMethodException이 발생한다.
예제
사용 예# 1
사용 예# 2
- named param이 entitiy의 property와 같고, ctx key와 같지 않은 경우
사용 예# 3
- named param이 entitiy의 property와 같지 않고, ctx key와 같은 경우
사용 예# 4
- named param이 entitiy의 property와 같지 않고, ctx key와 같지 않은 경우
사용 예# 5
- 조회결과 entitiy의 특정 method invoke시 고정값 사용
사용 예# 6
- 조회결과 entitiy의 특정 method invoke시 변수값 사용
참고 : {name}-hquery.glue_sql
참고 : hbm.xml
| 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 |
GlueHibernateSearch
public GlueHibernateSearch()
preRunActivity
protected void preRunActivity(GlueContext ctx)
postRunActivity
protected void postRunActivity(GlueContext ctx)
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 한다.
예)
==> return "success"이면 BizLogic Activity 를 실행함.
Copyright © 2013–2016 POSCO ICT. All rights reserved.