Атрибут EmbeddedId карты XML

Наличие этой сущности Person в 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, действующим в качестве первичного ключа, я могу сопоставить другие свойства, но не это, что я делаю неправильно?

Какое отношение этот вопрос имеет к jpa или гибернации? Если я правильно понимаю, вы, по сути, спрашиваете, как сгладить структуру объекта при маршалинге объекта в XML, на который уже дан ответ здесь

crizzis 30.04.2018 15:23

Я добавил эти теги, потому что думал, что это связано (извините, я новичок в Java). Я видел этот пример, но думаю, что это не то. Мне нужно сопоставить personId и преобразовать его в тип PersonIdentity, я также пробовал использовать @XmlJavaTypeAdapter, но он все еще не работает. Кроме того, я использую Intellij (я не знаю, совместим ли MOXy)

jre 30.04.2018 15:41
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
158
0

Другие вопросы по теме