Наличие этого лица в Java:
@Data
@Entity
@NoArgsConstructor
@XmlRootElement(name="Person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person implements Serializable {
@EmbeddedId
private PersonIdentity persondentity;
private String name;
private Boolean active;
private Boolean closed;
@XmlJavaTypeAdapter(DateAdapter.class)
@XmlAttribute(name = "DateBirth")
private Date birth;
@XmlAttribute(name = "PersonName")
private String personaName;
}
и PersonIdentity, который действует как составной ключ:
@Data
@NoArgsConstructor
@Embeddable
public class PersonIdentity implements Serializable {
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private Long id;
@XmlAttribute(name = "PersonId")
private String personId;
}
Я пытаюсь отобразить такой XML-код в класс Person:
<?xml version="1.0" encoding="UTF-8"?>
<Person personId="2017PIOE-A132" PersonName="John" DateBirth="19Apr2018 18:53" />
Вначале без составного ключа (@EmbeddedId) я смог отобразить объект, теперь, когда PersonIdentity действует как первичный ключ, я могу сопоставить другие свойства, но не это, что я делаю неправильно?