Dar un resultado json vacío mientras se ejecuta la clase de acción struts 2

Estoy tratando de recuperar datos de DB usando hibernate ORM y obtener la salida como resultado json usando Struts2. Todo funciona para recuperar datos de DB, pero para el resultado json solo obtengo{}.

Creo que he hecho algo mal con mi codificación. Pero necesito ayuda para resolverlo.

Aquí está mi clase de acción:

@ParentPackage("json-default")
public class SocialIconsAction extends ActionSupport {

    private List<TiendayaCurrencies> _currency;

    public List<TiendayaCurrencies> getCurrency() {
        return _currency;
    }

    public void setCurrency(List<TiendayaCurrencies> _currency) {
        this._currency = _currency;
    }

    @Action(value = "currencies", results = {
        @Result(name = "success", type = "json", params = {"includeProperties",
            "_currency\\[\\d+\\]\\..*"})})
    @Override
    public String execute() {
        _currency = loadCurrencies();

        /*Nothing wrong with the DB results.Just to  test everything works fine.*/
        //for (TiendayaCurrencies _currency1 : _currency) {
           // System.out.println("Title - "+_currency1.getTitle());
       // }


        return SUCCESS;
    }

    private List<TiendayaCurrencies> loadCurrencies() {
        Session session = com.tiendaya.connection.HibernateUtil.
                getSessionFactory().openSession();
        List<TiendayaCurrencies> cList = session.
                createCriteria(TiendayaCurrencies.class).list();

        return cList;
    }
}

Clase Pojo:

public class TiendayaCurrencies{


     private Integer id;
     private String title;
     private String code;
     private String symbolLeft;
     private String symbolRight;
     private char decimalPlace;
     ...

¿Hay algo malo con includeProperties? (Solo en un lugar en el que puedo pensar ...) ¿Alguien puede sugerir una forma? He intentado todo ...

Editar:

public class SocialIconsAction extends ActionSupport {

    private List<TiendayaCurrencies> _currency=new ArrayList<>();
    private String sample="working";

    public String getSample() {
        return sample;
    }

    public void setSample(String sample) {
        this.sample = sample;
    }
    ...


@Action(value = "currencies", results = {
@Result(name = "success", type = "json", params = {"includeProperties", "sample"})})

...

Como salida de json me da:{"muestra": "trabajando"} lo que significa que funciona bien. Entonces, ¿por qué no funciona con elLista de arreglo??

Respuestas a la pregunta(1)

Su respuesta a la pregunta