Test.hx-------class Client implements data.model.DBObject{ var id : Primary<Int>; var address : Varchar<200>; var name : String; public static var sql : MyManager; public var sql : MyManager;}class Order implements data.model.DBObject{ var id : Primary<Int>; var client : Primary<Client>; var referrer : Client; var date : Date; public static var sql : MyManager; public var sql : MyManager;}class Orderline implements data.model.DBObject{ var id : Primary<Int>; var order : Primary<Order>; var number : Int; var product : String; public static var sql : MyManager; public var sql : MyManager;}-----------Turns into:-----------<haxeQL> <exec methodName="insert"><![CDATA[ INSERT `client` VALUES (::id::,::address::,::name::) ]]></exec> <exec methodName="delete"><![CDATA[ DELETE `client` WHERE id=::id:: ]]></exec> <exec methodName="update"><![CDATA[ UPDATE `client` SET id=::id::, address=::address::, name=::name:: WHERE id=::id:: ]]></exec> <exec methodName="save"><![CDATA[ UPDATE `client` SET address=::address::, name=::name:: WHERE id=::id:: ]]></exec> <set methodName="select"><![CDATA[ SELECT c.id, c.address, c.name FROM `client` AS c WHERE ::dynamicWHERE:: ]]></set> <set methodName="search"><![CDATA[ SELECT c.id, c.address, c.name FROM `client` AS c WHERE ::dynamicLIKE:: ]]></set> <row methodName="get"><![CDATA[ SELECT c.id, c.address, c.name FROM `client` AS c WHERE c.id=::id:: ]]></row> <row methodName="row"><![CDATA[ SELECT * FROM `client` WHERE id=::id:: ]]></row></haxeQL>SQLGenerator.hx:55:<?xml version="1.0" encoding="UTF-8"?><haxeQL> <exec methodName="insert"><![CDATA[ INSERT `order` VALUES (::id::,::client.id::,::date::,::referrer.id::) ]]></exec> <exec methodName="delete"><![CDATA[ DELETE `order` WHERE id=::id:: AND clientid=::client.id:: ]]></exec> <exec methodName="update"><![CDATA[ UPDATE `order` SET id=::id::, clientid=::client.id::, date=::date::, referrer_clientid=::referrer.id:: WHERE id=::id:: AND clientid=::client.id:: ]]></exec> <exec methodName="save"><![CDATA[ UPDATE `order` SET date=::date::, referrer_clientid=::referrer.id:: WHERE id=::id:: AND clientid=::client.id:: ]]></exec> <set methodName="select"><![CDATA[ SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name FROM `order` AS o LEFT JOIN `client` AS c ON o.clientid=c.id LEFT JOIN `client` AS c0 ON o.referrer_clientid=c0.id WHERE ::dynamicWHERE:: ]]></set> <set methodName="search"><![CDATA[ SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name FROM `order` AS o LEFT JOIN `client` AS c ON o.clientid=c.id LEFT JOIN `client` AS c0 ON o.referrer_clientid=c0.id WHERE ::dynamicLIKE:: ]]></set> <row methodName="get"><![CDATA[ SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name FROM `order` AS o LEFT JOIN `client` AS c ON o.clientid=c.id LEFT JOIN `client` AS c0 ON o.referrer_clientid=c0.id WHERE o.id=::id:: AND c.clientid=::client.id:: ]]></row> <row methodName="row"><![CDATA[ SELECT * FROM `order` WHERE id=::id:: AND clientid=::client.id:: ]]></row></haxeQL>SQLGenerator.hx:55:<?xml version="1.0" encoding="UTF-8"?><haxeQL> <exec methodName="insert"><![CDATA[ INSERT `orderline` VALUES (::id::,::order.id::,::order.client.id::,::number::,::product::) ]]></exec> <exec methodName="delete"><![CDATA[ DELETE `orderline` WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id:: ]]></exec> <exec methodName="update"><![CDATA[ UPDATE `orderline` SET id=::id::, orderid=::order.id::, clientid=::order.client.id::, number=::number::, product=::product:: WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id:: ]]></exec> <exec methodName="save"><![CDATA[ UPDATE `orderline` SET number=::number::, product=::product:: WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id:: ]]></exec> <set methodName="select"><![CDATA[ SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id FROM `orderline` AS or LEFT JOIN `order` AS o ON or.orderid=o.id AND or.clientid=o.id WHERE ::dynamicWHERE:: ]]></set> <set methodName="search"><![CDATA[ SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id FROM `orderline` AS or LEFT JOIN `order` AS o ON or.orderid=o.id AND or.clientid=o.id WHERE ::dynamicLIKE:: ]]></set> <row methodName="get"><![CDATA[ SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id FROM `orderline` AS or LEFT JOIN `order` AS o ON or.orderid=o.id AND or.clientid=o.id WHERE or.id=::id:: AND o.orderid=::order.id:: AND c.clientid=::order.client.id:: ]]></row> <row methodName="row"><![CDATA[ SELECT * FROM `orderline` WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id:: ]]></row></haxeQL>