Provee modelado y persistencia de una perspectiva orientada al negocio de los mensajes SWIFT.
Este componente hace uso de técnicas avanzadas de Object Relational Mappings (ORM) para proveer persistencia eficiente y de alto nivel para mensajes SWIFT en tres niveles:
- Contenido literal de los mensajes FIN, tal cual son enviados o recibidos de la red.
- Contenido estructurado en tabals para cada bloque y campo de los mensajes.
- Contenido adicional de negocio y de aplicación (metadata), como ser hora de creación del mensaje, monto, usuario, historial de estados, relacion con otros mensajes, etc...

El componente ha sido desplegado en diversas bases de datos de uso comunmente usadas (Sybase, MySQL, Oracle, etc...) y esta construido para funcionar sin inconvenientes en cualquier motor de base de datos que soporte JDBC.
Muestra de código:
Session s = HibernateUtil().openSession(); PersistentSWIFTMessageRepository repository = new PersistentSWIFTMessageRepository(s);
//obtener todos los MT103 enviados o recividos hoy PersistentMessageFilter filter = new PersistentMessageFilter(); filter.setFromDate(Calendar.getInstance)); filter.setMt("103"); List<PersistentSWIFTMessage> all = null; all = repository.findFiltered(s, filter).getResult();
PersistentSWIFTMessage m = all.get(0);
//obtener mensajes relacionados (ej: notificaciones MT199 para este MT103) List<PersistentSWIFTMessage> related = repository.getRelated(s, m.getId());
List<SwiftMessageStatus> statusList = m.getStatus(); //historial de estados BigDecimal amount = m.getAmount(); //monto principal
//seteo de un atributo custom sobre el mensaje m.setProperty("MY_PROP", "my property value"); s.save(m);
|