org.dozer.MappingException: No read or write method found for field

Karthik PV picture Karthik PV · Feb 9, 2013 · Viewed 9.6k times · Source

org.dozer.MappingException: No read or write method found for field (tarShipMethodCode.lmCourier.courierName) in class (class com.essilor.ong.domain.inventory.POLocationEntity)

I am getting this error when i build my war file and try to run Tomcat. I am using JPA and dozer mapping. Can anyone tell me how to fix it?

Answer

Scorpio picture Scorpio · Mar 1, 2013

Check your Beans and your Dozer-Mapping-File.

There are multiple (more or less common) errors possible:

  • Typo in the mappingfile. Check the package and field names in your POLocationEntity, does it have a field named tarShipMethodCode, and does this have an ImCourier field, and this a courierName field?

  • Lack of getters / setters. Again check the beans, Dozer usually expects getFieldName and setFieldName methods, unless you specified others (which I do not assume, maybe post your mapping file).

  • Narrow the problem down: Is this the only field that is not working? Or is this field not specified at all? Dozer tends to try to map-by-name fields that do not have corresponding entries in the mapping file, which could lead to unexpected errors.

tl;dr

With some more information (mapping xml, bean code) this would be easier to analize, but the above pointers are the ones that solve these kinds of problems in my experience.