I came across a use case where i have to created Entity with columns which are reserved words in Databases. Initially i didn't observe those are reserved words. If our column name is equal to reserved word service builder tool starts throwing vague errors. I am not able to find where the problem was exactly. My service.xml contains around 20+ tables. Debugging the same sucks & tiresome.
<entity name="MyCustomEntity" table="MyTable" local-service="true" remote-service="false">
<!-- PK fields -->
<column name="name" db-name="Name" type="String" primary="true" />
<!-- Audit fields -->
<column name="company" db-name="Company" type="String" />
<column name="default" db-name="Default" type="boolean" />
<column name="locale" db-name="Locale" type="String" />
<column name="message" db-name="Message" type="String" />
<column name="senderAddress" db-name="SenderAddress" type="String" />
<column name="subject" db-name="Subject" type="String" />
<column name="type" db-name="Type" type="String" />
<!-- Order -->
<order by="desc">
<order-column name="name" />
</order>
</entity>
If you see above entity portion of my service.xml - the column colored in red is a reserved word that is the one causing the problem.
I have changed that portion to below
If the service builder is behaving in a vague manner & if you are sure about correctness of your entity portion's of service.xml then better have a look at following files
Please feel free to share your comments. Cheers :)
<entity name="MyCustomEntity" table="MyTable" local-service="true" remote-service="false">
<!-- PK fields -->
<column name="name" db-name="Name" type="String" primary="true" />
<!-- Audit fields -->
<column name="company" db-name="Company" type="String" />
<column name="default" db-name="Default" type="boolean" />
<column name="locale" db-name="Locale" type="String" />
<column name="message" db-name="Message" type="String" />
<column name="senderAddress" db-name="SenderAddress" type="String" />
<column name="subject" db-name="Subject" type="String" />
<column name="type" db-name="Type" type="String" />
<!-- Order -->
<order by="desc">
<order-column name="name" />
</order>
</entity>
If you see above entity portion of my service.xml - the column colored in red is a reserved word that is the one causing the problem.
I have changed that portion to below
<column name="default_" db-name="Default_" type="boolean" />
If the service builder is behaving in a vague manner & if you are sure about correctness of your entity portion's of service.xml then better have a look at following files
- bad_column_names.txt
- bad_table_names.txt
- bad_alias_names.txt
Please feel free to share your comments. Cheers :)