如何在onetomany双向关系中注释和使用java持久对象,以便可以将实体转换为其XML表示形式,当被宁静的客户端占用时,可以将其再次转换回实体对象
答案 0 :(得分:0)
这是我的一个项目的真实代码,可能(如果我做对了)完全符合你的需要。
@Entity
@Table(name = "KIOSK")
@XmlRootElement
public class RealKiosk implements Kiosk {
private List<Device> kioskDevices = new ArrayList<Device>();
@OneToMany(fetch = FetchType.LAZY, targetEntity = DeviceImpl.class, mappedBy = "kiosk", cascade = CascadeType.ALL)
@XmlElement(type = DeviceImpl.class)
public List<Device> getKioskDevices() {
return kioskDevices;
}
public void setKioskDevices(List<Device> kioskDevices) {
this.kioskDevices = kioskDevices;
}
}
在极少数情况下,您会使用
@XmlAnyElement(lax = true)
而不是
@XmlElement(type = DeviceImpl.class)
但是如果你没有使用接口而只使用类
@XmlRootElement
应该足够了。
但是如果你没有将Jackson与Spring一起使用,那么所有这些都是相关的。如果是这样,那将是一个不同的故事。