Hi, While creating an entity I was in ambiguity whether to go for "*id*" or " *id-ne*" field type. When I googled it I came across this very enriching discussion.
http://ofbiz.135035.n4.nabble.com/EntityEngine-field-types-td2251546.html As stated, an "id-ne" field can only have a *non-empty* value. I was very curious to know how it is implemented in OFBiz. I found that almost all the *fieldtype*.xml* files have *same* *sql-type* and *java-type* for these 2 field types but I couldn't get any trace of how that not-empty constraint is levied upon "id-ne" fields. I even looked at table structure for those fields having "id-ne" field type but there was no "not-null" constraint at even the database level. When dug into it further I can across this commit where validate elements were removed from fieldtype*.xml files. http://markmail.org/message/otec62xiwkpjttkq http://svn.apache.org/viewvc?view=revision&revision=959708 But I can't get why it was removed and when it was removed whether there was some implementation that took its place for those validations. To further check if it even works I found an OOTB entity having a non-primary key "id-ne" field. I found that "*Picklist*" entity has a field *shipmentMethodTypeId* as "id- ne" type. When we *create a picklist* for an order from Facility Manager, *shipmentMethodTypeId* can be *empty*. If my explorations are correct currently there is no difference between "id" and "id-ne" at the implementation level and there should be a Jira for it. If I missed out something, can someone please enlighten me with that and help me understanding it well. Thanks & Regards, Aditya Sharma Enterprise Software Engineer HotWax Systems Pvt. Ltd. http://www.hotwaxsystems.com/ <https://www.linkedin.com/in/aditya-sharma-78291810a/>