Right, this is with Neo4j. Not sure what details you're looking for, but here's a basic outline of the classes. I've omitted other fields, and all getters/setters.
Code:
@Entity(name = "equipment_Equipment")
@Table(name = "EQUIPMENT_EQUIPMENT")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Access(AccessType.FIELD)
public class Equipment extends com.nokia.nspos.model.domain.equipment.entities.AbstractEquipment {
...
}
@Entity(name = "equipment_AbstractEquipment")
@Table(name = "EQUIPMENT_ABSTRACTEQUIPMENT")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Access(AccessType.FIELD)
public abstract class AbstractEquipment extends com.nokia.nspos.model.domain.core.entities.SourcedManagedObject implements com.nokia.nspos.model.domain.common.entities.Stateful, com.nokia.nspos.model.domain.common.entities.ObjectDetailsHolder
{
...
@Basic(optional = false)
private com.nokia.nspos.model.domain.equipment.types.EquipmentType type;
...
}
public enum EquipmentType implements IManagedEnum {
/**
An unexpected equipment type not matching any of the other enum values
*/
unknown(0, "unknown"),
...
/**
*/
rack(8, "rack"),
/**
*/
port(9, "port"),
;
}