2014年9月27日 星期六

hibernate GETconstraintName/自動產生class


http://docs.jboss.org/tools/OLD/2.0.0.GA/hibernatetools/en/html_single/index.html
http://hibernate.org/tools/
http://tools.jboss.org/features/hibernate.html




e.getErrorCode() :1452
e.getConstraintName() :null
e.getMessage() :could not execute statement
e.getCause().getMessage(() :Cannot add or update a child row: a foreign key constraint fails (`ewallet`.`transaction`, CONSTRAINT `transaction_ibfk_2` FOREIGN KEY (`storeId`) REFERENCES `store` (`storeId`) ON DELETE CASCADE ON UPDATE CASCADE)



package com.transaction;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.hibernate.exception.ConstraintViolationException;

import com.HibernateUtil;
import com.Jdbcmysql;
import com.QueryTool;
import com.Tool;
import com.WebConfig;
import com.google.gson.Gson;
import com.hibernatebean.Store;
import com.hibernatebean.Transaction;
import com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException;
import com.object.ForgotPwObject;
import com.object.RegisterTransactionObject;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class RegisterTransaction extends ActionSupport {

    /**
     *
     */
    private static final long serialVersionUID = -3094866975438328785L;
    private HashMap<String, Object> registerTransactionReturnMes;

    public HashMap<String, Object> getRegisterTransactionReturnMes() {
        return registerTransactionReturnMes;
    }

    public void setRegisterTransactionReturnMes(HashMap<String, Object> registerTransactionReturnMes) {
        this.registerTransactionReturnMes = registerTransactionReturnMes;
    }

    int effectLines = 0;
    Jdbcmysql jdbcmysql;
    String preparedStatementSql;
    private HibernateUtil hibernateUtil;

    public String execute() {
        registerTransactionReturnMes = new HashMap<String, Object>();

        // test();

        ActionContext context = ActionContext.getContext();
        HttpServletRequest request = (HttpServletRequest) context.get(ServletActionContext.HTTP_REQUEST);

        /*
         * String encodeData = request.getParameter("encodeData"); Tool tool =
         * new Tool(); Gson gson = new Gson(); RegisterTransactionObject
         * registerTransactionObject = new RegisterTransactionObject();
         * registerTransactionObject =
         * gson.fromJson(tool.decryptionToString(encodeData),
         * RegisterTransactionObject.class);
         */

        String storeId = request.getParameter("storeId");
        String price = request.getParameter("price");

        // jdbcmysql = new Jdbcmysql("ewallet", WebConfig.DatabaseIp);

        try {
            hibernateUtil = new HibernateUtil();
            Transaction transaction = new Transaction();
            Store store = new Store();
            store.setStoreId(Integer.parseInt(storeId));
            transaction.setStore(store);
            transaction.setPrice(Integer.parseInt(price));
            hibernateUtil.sessionBeginTransaction();
            int transactionId = (Integer) hibernateUtil.getSession().save(transaction);
            hibernateUtil.commitTransactionAndClose();
            registerTransactionReturnMes.put("issus", "1");
            registerTransactionReturnMes.put("msg", "註冊交易成功");
            registerTransactionReturnMes.put("transactionId", transactionId);

           
        } catch (ConstraintViolationException e) {
            System.out.println("e.getErrorCode() :" + e.getErrorCode());
            System.out.println("e.getConstraintName() :" + e.getConstraintName());
            System.out.println("e.getMessage() :" + e.getMessage());
            System.out.println("e.getCause().getMessage(() :" + e.getCause().getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            hibernateUtil.close();

           
            return SUCCESS;

        }
        hibernateUtil.close();
        return SUCCESS;
    }

}

沒有留言:

張貼留言