The easiest way, as mentioned in comments, is to remove the Parent reference from Column as mentioned in the comments. You can almost certainly recode to provide both the table and column as a pair (instead of just the column) wherever needed.
The next easiest way is to change the content of the Parent in Columns from an object reference to an id of some sort, whether an integer whose value corresponds to an index into an array of tables, or a string that holds the unique id or name of the table. This means your usages of column.Parent, if they need access to the whole table, will need to be wrapped in a function that understands how to translate the index or string into the parent.
Note that if your table names are unique and that is all you need from column.Parent, then perhaps converting these fields from a (circular) reference to another object into a string that identifies the name of the table will work best for you.
The next method is to provide a custom toJSON() for Column types so that they alter the Parent field for serialization, alter it from a reference to an index or string as per the above; this will then only happen during JSON.stringify() instead of during routine in-memory use of that field. Of course, to do this you'll also have to create or simulate a reviver operation during/after JSON.parse() that understands the references and converts them back to the objects.
Columnneed a reference to its parent in the first place? If it doesn't need one, then just don't give it one. If you think it does need one, then we'll need to know why in order to give you a more useful answer than "don't do that".Columnclass I have abuildfunction which return a string by combining table and column like"tableA.colB". That why column need to know what table it belong to.These entities are used for building SQL statement.