JDX is totally non-intrusive to your object model. You can easily use JDX with POJO (Plain Old Java Object) classes.
JDX does not require your persistent classes to inherit from any particular base class; it does not require them to implement any specific interfaces; it does not require them to be cluttered with mapping annotations. You have all the flexibility in defining your persistent classes without worrying about the data access aspects.
JDX also does not require you to create or generate any DAO (Data Access Object) classes.