Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 从另一个ejb获取字段值_Java_Jpa_Ejb_Entitymanager - Fatal编程技术网

Java 从另一个ejb获取字段值

Java 从另一个ejb获取字段值,java,jpa,ejb,entitymanager,Java,Jpa,Ejb,Entitymanager,我想在另一个ejb中获得field的值 下面是我的示例,我想从类(Visite)中获取“CLient”的值,并在类(DateVisite)的“ClientVisite”中获取该值,然后将该值保存在数据库中 这是我的密码 package model.entitie; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Colu

我想在另一个ejb中获得field的值 下面是我的示例,我想从类(Visite)中获取“CLient”的值,并在类(DateVisite)的“ClientVisite”中获取该值,然后将该值保存在数据库中

这是我的密码

package model.entitie;

import java.io.Serializable;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.ColumnResult;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import model.entitie.Visite;

@Entity
@NamedQueries({ @NamedQuery(name = "Datevisite.findAll", query = "select o from Datevisite o") })
@SequenceGenerator(name = "DateVisite_Id_Seq_Gen", sequenceName = "DATEVISITE_SEQ", allocationSize = 1,
                   initialValue = 50)
public class Datevisite implements Serializable {
    private static final long serialVersionUID = -341535626783197699L;
    @Id
    @Column(nullable = false, length = 4000)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "DateVisite_Id_Seq_Gen")
    private String iddatevis;
    @Temporal(TemporalType.DATE)
    private Date jourvisite;

    @ManyToOne
    @JoinColumn(name = "VISITE_ID")
    private Visite datevisite;
    @Temporal(TemporalType.DATE)
    @Column(name = "JOURVISITEEND")
    private Date jourvisteend;
    @Column(name = "DESCRPTION")
    private String description;
    @Column(name = "CLIENTVISITE")
    private String ClientVisite;


    public void setClientVisite(String ClientVisite) {

        this.ClientVisite = ClientVisite;

    }

    public String getClientVisite() {
        return ClientVisite;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setJourvisteend(Date jourvisteend) {
        this.jourvisteend = this.jourvisite;
    }

    public Date getJourvisteend() {
        return jourvisteend;
    }

    public Datevisite() {
    }

    public Datevisite(String iddatevis, Date jourvisite, Visite datevisite, String ClientVisite) {
        this.iddatevis = iddatevis;
        this.jourvisite = jourvisite;
        this.datevisite = datevisite;

        this.ClientVisite = ClientVisite;

    }

    public String getIddatevis() {
        return iddatevis;
    }

    public void setIddatevis(String iddatevis) {
        this.iddatevis = iddatevis;
    }

    public Date getJourvisite() {
        return jourvisite;
    }

    public void setJourvisite(Date jourvisite) {
        this.jourvisite = jourvisite;
    }


    public Visite getDatevisite() {
        return datevisite;
    }

    public void setDatevisite(Visite datevisite) {
        this.datevisite = datevisite;
    }
}
探视班

 package model.entitie;

    import java.io.Serializable;

    import java.util.List;

    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.SequenceGenerator;

    @Entity
    @NamedQueries({ @NamedQuery(name = "Visite.findAll", query = "select o from Visite o") })
    @SequenceGenerator(name = "Visite_Id_Seq_Gen", sequenceName = "VISITE_SEQ", allocationSize = 1, initialValue = 50)
    public class Visite implements Serializable {
        private static final long serialVersionUID = 2402539910369717472L;
        @Column(length = 4000)
        public String client;
        @Column(length = 4000)
        private String dep;
        @Id
        @Column(nullable = false, length = 4000)
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "Visite_Id_Seq_Gen")
        private String idvisite;
        @Column(length = 4000)
        private String nbvisites;
        @OneToMany(mappedBy = "datevisite", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
        private List<Datevisite> datevisiteList;

        public Visite() {
        }

        public Visite(String client, String dep, String idvisite, String nbvisites) {
            this.client = client;
            this.dep = dep;
            this.idvisite = idvisite;
            this.nbvisites = nbvisites;
        }

        public String getClient() {
            return client;
        }

        public void setClient(String client) {

            this.client = client;
        }

        public String getDep() {
            return dep;
        }

        public void setDep(String dep) {
            this.dep = dep;
        }

        public String getIdvisite() {
            return idvisite;
        }

        public void setIdvisite(String idvisite) {
            this.idvisite = idvisite;
        }

        public String getNbvisites() {
            return nbvisites;
        }

        public void setNbvisites(String nbvisites) {
            this.nbvisites = nbvisites;
        }

        public List<Datevisite> getDatevisiteList() {
            return datevisiteList;
        }

        public void setDatevisiteList(List<Datevisite> datevisiteList) {
            this.datevisiteList = datevisiteList;
        }

        public Datevisite addDatevisite(Datevisite datevisite) {
            getDatevisiteList().add(datevisite);
            datevisite.setDatevisite(this);
            return datevisite;
        }

        public Datevisite removeDatevisite(Datevisite datevisite) {
            getDatevisiteList().remove(datevisite);
            datevisite.setDatevisite(null);
            return datevisite;
        }
    }

如果我理解正确,您需要从Visite类(Visite.getClient())获取客户端字段,并在DateVisite类(DateVisite.setClientVisite())的clientVisite字段中设置它,对吗

DateVisite类已具有成员visite,下面的代码应适用于您:

datevisite.setClientVisite(datevisite.getDateVisite().getClient());

你是说另一个“实体”而不是“EJB”对吗?EJB是服务/会话bean。我只是想澄清一下。除此之外,你还尝试了什么?你的问题在哪里?是的,我是说我尝试了public void setClientVisite(String ClientVisite,Visite-Visite){this.ClientVisite=Visite.getClient();}但什么都没有发生除了你有两个参数但只使用一个之外,如果实体被附加,它应该可以工作。设置硬编码字符串时是否有效?必须是同一个地方,否则它可以在一个地方附着,在另一个地方分离。这只是一个字符串,为什么附着和分离的对象在这里有效果@user3419507 t'Arriquer en français,ce sera plus simple?从您的问题来看,不清楚您在做什么以及哪里出了问题。在
em.persist(datevisite)
前面放置断点时,datevisite.ClientVisite是否设置为所需值?如果不是,您的代码中就有问题,而不是JPA中的问题。
datevisite.setClientVisite(datevisite.getDateVisite().getClient());