class X { ... string Name() const; // first method string get_Name() const; // second method ... void set_Name(string); // method to set value ... };
The main reason for such changes is linked with the fact that a generated class is derived from DalObject class, that has several internal public methods like UID(), class_name(), etc. If methods are generated without any prefix, it is always possible to create an attribute or relationship with name equal to a name of DalObject class method. Such situation took place in real life (there is a class that has class_name attribute), that resulted wrong behavior of application. A usage of explicit class name for the method solves such problem, but it is preferable to guaranty it will not happen again in a different case.