One way I found to get this to work was to explicitly specify the targetEntity on the @OneToOne as follows:
@OneToOne(cascade = CascadeType.DETACH, fetch = FetchType.EAGER, targetEntity = Person.class ) @JoinColumn(name = "PERSON_ID", referencedColumnName = "PERSON_ID", insertable = false, updatable = false) private ActualPerson person;
Gail Badner, while the above works and the supplied test case works without failure, should the mapping work without the explicit targetEntity attribute?