Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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 Glassfish服务器缓存在使用@XmlAdapter时未得到更新?_Java_Jpa_Jaxb_Glassfish_Jersey - Fatal编程技术网

Java Glassfish服务器缓存在使用@XmlAdapter时未得到更新?

Java Glassfish服务器缓存在使用@XmlAdapter时未得到更新?,java,jpa,jaxb,glassfish,jersey,Java,Jpa,Jaxb,Glassfish,Jersey,我在使用@XmlAdapter时偶然发现了一个奇怪的问题。让我试着描述一下情况: 在服务器端,我有一个类: @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public class Cows implements Serializable { ...a bunch of cow properties like ID, name, ... @XmlElementWrapper(name = "sampless")

我在使用@XmlAdapter时偶然发现了一个奇怪的问题。让我试着描述一下情况:

在服务器端,我有一个类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class Cows implements Serializable {
    ...a bunch of cow properties like ID, name, ...

    @XmlElementWrapper(name = "sampless")
    @XmlElement(name = "samples") 
    @OneToMany(mappedBy = "cowId")
    private List<Samples> samplesList;

    ...a bunch of getters & setters...
}
牛仔级:

public class CowsAdapter extends XmlAdapter<Cows, Cows> {
    @Override
    public Cows unmarshal(Cows v) throws Exception {
        return v;
    }
    @Override
    public Cows marshal(Cows v) throws Exception {
        return null;
    }
}
但是,有人能告诉我这是否是最好的方法吗


提前感谢。

通过向persistence.xml添加属性,暂时禁用Glassfish缓存。

您需要维护关系的双方。如果创建新样本,则需要将其添加到奶牛样本中

看,,

public class CowsAdapter extends XmlAdapter<Cows, Cows> {
    @Override
    public Cows unmarshal(Cows v) throws Exception {
        return v;
    }
    @Override
    public Cows marshal(Cows v) throws Exception {
        return null;
    }
}
@GET
@Path("cow/{id}")
@Produces({"application/xml"})
public Cows findById(@PathParam("id") Integer id) {
    //Cows cow = super.find(id);
    final Query qry = getEntityManager().createNamedQuery("Cows.findById", Cows.class);
    qry.setParameter("id", id);
    qry.setHint("javax.persistence.cache.storeMode", "REFRESH");

    Cows cow = (Cows) qry.getSingleResult();
    return cow;
}