Oracle Usage Notes

Public Synonyms

If you want to generate objects for a table that has a public synonym, you should actually generate the objects against the real table - and then change the table name at runtime. MyBatis Generator supports this automatically.

For example, assume there is a public alias "FRED" that points to the table "HR.EMPLOYEES". The following table configuration will generate the objects based on HR.EMPLOYEES, but the runtime SQL will only refer to FRED:

  <table schema="HR" tableName="EMPLOYEES">
    <property name="ignoreQualifiersAtRuntime" value="true" />
    <property name="runtimeTableName" value="FRED" />

Oracle LONG Datatype

The Oracle JDBC driver will report that a LONG column is JDBC type LONGVARCHAR. MyBatis will map LONGVARCHAR to CLOB which is unsupported by the Oracle driver. So, when using LONG datatype, you should do a column override in the generator to map it to VARCHAR JDBC type.