title: Ljava.lang.Object; cannot be cast to model
body: <p>in this case, i want to show Json to an response page in java hibernate, query method from DAO like this:</p>
  
  <pre><code>public List&lt;TransactionQR&gt; getAllTransaction() throws HibernateException {
          return this.session.createQuery("FROM TransactionQR tr, Batch b, Terminal t, User_Smartphone us, Merchant mc WHERE tr.batch = b.id AND b.user_smartphone = us.id AND b.terminal = t.id AND t.merchant = mc.id AND state = '1' ").list();
      }
  </code></pre>
  
  <p>then in servlet class i try to convert the list into json using Json object and json array then write in response like this:</p>
  
  <pre><code>            int start = 0;
              String jsonResult = null;
              JSONObject jo=new JSONObject();
  
              HttpServletRequest request = context.getRequest();
              HttpServletResponse response = context.getResponse();
  
              HttpSession session = context.getSession();
  
              DB db = getDB(context);
  
              //JSONObject jo = new JSONObject();
              QRTransactionDao QR = new QRTransactionDao(db);
              //Gson objGson = new GsonBuilder().setPrettyPrinting().create();
              //String json = objGson.toJson(QR.getAllTransaction());
  
              //System.out.println(json);
  
              List&lt;TransactionQR&gt; str = QR.getAllTransaction();    
              JSONArray array = new JSONArray();
  
              for(TransactionQR tr : str){
  
                   JSONObject str3 = new JSONObject();
                   str3.put("amount", tr.getAmount());
                   context.put("jsoncontent", jsonResult);
  
                   array.add(str3);
              }
  
              jo.put("status", "ok");
              jo.put("dataqr", array);
  
              jsonResult=jo.toString();
              response.setContentType("application/json");
              response.getWriter().print(jsonResult);
  </code></pre>
  
  <p>but i got the error on syntax in this line loop:</p>
  
  <pre><code>for(TransactionQR tr : str){
  </code></pre>
  
  <p>the error like this:</p>
  
  <blockquote>
    <p>[Ljava.lang.Object; cannot be cast to Transaction</p>
  </blockquote>
  
  <p>here the model Transaction:</p>
  
  <pre><code>package id.co.keriss.consolidate.ee;
  
  import java.io.Serializable;
  import java.util.Date;
  public class TransactionQR implements Serializable{
      private Long id;
      private String codeqr;
      private Date approvaltime;
      private String merchant;
      private String code_merchant;
      private Long amount;
      private Long saldoawal;
      private Integer tracenumber;
      private String state;
      private Date createdate;
      private Batch batch;
  
      public TransactionQR() {
  
      }
  
      public TransactionQR(Long id, String codeqr, Date approvaltime, String merchant, String code_merchant, Long amount,
              Long saldoawal, Integer tracenumber, String state, Date createdate, Batch batch) {
          super();
          this.id = id;
          this.codeqr = codeqr;
          this.approvaltime = approvaltime;
          this.merchant = merchant;
          this.code_merchant = code_merchant;
          this.amount = amount;
          this.saldoawal = saldoawal;
          this.tracenumber = tracenumber;
          this.state = state;
          this.createdate = createdate;
          this.batch = batch;
      }
  
      public Long getId() {
          return id;
      }
      public Date getApprovalTime() {
          return approvaltime;
      }
  
      public Batch getBatch() {
          return batch;
      }
  
      public void setBatch(Batch batch) {
          this.batch = batch;
      }
  
      public void setApprovalTime(Date approvalTime) {
          this.approvaltime = approvalTime;
      }
      public void setId(Long id) {
          this.id = id;
      }
  
      public Date getApprovaltime() {
          return approvaltime;
      }
  
      public void setApprovaltime(Date approvaltime) {
          this.approvaltime = approvaltime;
      }
  
      public String getCodeqr() {
          return codeqr;
      }
  
      public void setCodeqr(String codeqr) {
          this.codeqr = codeqr;
      }
  
  
  
      public String getMerchant() {
          return merchant;
      }
  
      public void setMerchant(String merchant) {
          this.merchant = merchant;
      }
  
      public String getCode_merchant() {
          return code_merchant;
      }
  
      public void setCode_merchant(String code_merchant) {
          this.code_merchant = code_merchant;
      }
  
      public Long getAmount() {
          return amount;
      }
  
      public void setAmount(Long amount) {
          this.amount = amount;
      }
  
      public Long getSaldoawal() {
          return saldoawal;
      }
  
      public void setSaldoawal(Long saldoawal) {
          this.saldoawal = saldoawal;
      }
  
      public Integer getTracenumber() {
          return tracenumber;
      }
  
      public void setTracenumber(Integer tracenumber) {
          this.tracenumber = tracenumber;
      }
  
      public String getState() {
          return state;
      }
  
      public void setState(String state) {
          this.state = state;
      }
  
      public Date getCreatedate() {
          return createdate;
      }
  
      public void setCreatedate(Date createdate) {
          this.createdate = createdate;
      }   
  }
  </code></pre>
  
  <p>i have try to handle the list with Gson:</p>
  
  <pre><code>Gson objGson = new GsonBuilder().setPrettyPrinting().create();
  String json = objGson.toJson(QR.getAllTransaction());
  
  System.out.println(json);
  </code></pre>
  
  <p>in that way, it's work to show but it's not from POJO right i want work with pojo to parse the data to json ?</p>
  
  <p>why i get the error can't cast to model ? any clue ?</p>