Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XML映射嵌入ID属性_Java_Spring_Hibernate_Jpa_Jaxb - Fatal编程技术网

Java XML映射嵌入ID属性

Java XML映射嵌入ID属性,java,spring,hibernate,jpa,jaxb,Java,Spring,Hibernate,Jpa,Jaxb,在Java中拥有此人实体: @Data @Entity @NoArgsConstructor @XmlRootElement(name="Person") @XmlAccessorType(XmlAccessType.FIELD) public class Person implements Serializable { @EmbeddedId private PersonIdentity persondentity; private String name; private

在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; 
}
还有像复合钥匙一样的人格特征:

 @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或hibernate有什么关系?如果我理解正确的话,您实际上是在问如何在将对象编组为XML时展平对象结构,这已经得到了回答。我添加了这些标记,因为我认为它们是相关的(对不起,我对Java非常陌生)。我看到了这个例子,但我觉得不一样。我需要映射personId并将其转换为PersonIdentity类型,我也尝试了@XmlJavaTypeAdapter,但它仍然不起作用。此外,我正在使用Intellij(我不知道MOXy是否兼容)