1
沿着我有以下Hibernate屬性:JAXB:使用@XmlID與Hibernate @Id
@Id()
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id = null;
我要添加註釋JAXB向@XmlID這個ID,但@XmlID只能適用於字符串數據類型。我怎麼解決這個問題。
沿着我有以下Hibernate屬性:JAXB:使用@XmlID與Hibernate @Id
@Id()
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id = null;
我要添加註釋JAXB向@XmlID這個ID,但@XmlID只能適用於字符串數據類型。我怎麼解決這個問題。
使用@XmlJavaTypeAdapter(IDAdapter.class)與@XmlID一起在那裏IDAdapter是
import javax.xml.bind.DatatypeConverter;
import javax.xml.bind.annotation.adapters.XmlAdapter;
public class IDAdapter extends XmlAdapter<String, Long> {
@Override
public Long unmarshal(String string) throws Exception {
return DatatypeConverter.parseLong(string);
}
@Override
public String marshal(Long value) throws Exception {
return DatatypeConverter.printLong(value);
}
}
@XmlID
@Transient
public String getXId(){
return this.id;
}
public String setXId(String s){
this.id = Long.parseDouble(s);
}