code: public int deleteCascade(DataColumnConstraints constraints)
  			throws SQLException {
  		int count = 0;
  
  		if (constraints != null) {
  
  			// Check if the last remaining constraint with the constraint name
  			// is being deleted
  			List<DataColumnConstraints> remainingConstraints = queryByConstraintName(constraints
  					.getConstraintName());
  			if (remainingConstraints.size() == 1) {
  
  				DataColumnConstraints remainingConstraint = remainingConstraints
  						.get(0);
  
  				// Compare the name, type, and value
  				if (remainingConstraint.getConstraintName().equals(
  						constraints.getConstraintName())
  						&& remainingConstraint.getConstraintType().equals(
  								constraints.getConstraintType())
  						&& (remainingConstraint.getValue() == null ? constraints
  								.getValue() == null : remainingConstraint
  								.getValue().equals(constraints.getValue()))) {
  
  					// Delete Data Columns
  					DataColumnsDao dao = getDataColumnsDao();
  					List<DataColumns> dataColumnsCollection = dao
  							.queryByConstraintName(constraints
  									.getConstraintName());
  					if (!dataColumnsCollection.isEmpty()) {
  						dao.delete(dataColumnsCollection);
  					}
  				}
  			}
  
  			// Delete
  			count = delete(constraints);
  		}
  		return count;
  	}
docs: Delete the Data Columns Constraints, cascading
  
  @param constraints
  data column constraints
  @return deleted count
  @throws SQLException
  upon failure