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;
}
}

沒有留言:
張貼留言