Is this a correct way to use Factory Pattern?
Some design considerations:


Returning Null: Your factory method createFromString returns a null creator if the column is unknown. It's good practice to note this in the javadoc or perhaps throw an IllegalArgumentException if a column you can't handle is passed in.
Date Abstraction: ProjectDateCreatorlooks like it could use either its own factory or two separate implementations based on the second constructor argument. That class isn't included here, but it appears CREATION and UPDATED are some sort of public static final type constants. Those would be better expressed as an enum:

// A factory can use this instead!
public enum ProjectDateOption {
    CREATION, UPDATED;
}

Interface Naming: Interfaces in Java aren't typically prefixed with an I, but if it's consistent through your code then that's a minor quibble.
Column Strings: Your TODO mentions this, but the column strings could also be placed into an enum, and then the checking could occur there.