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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/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
JPA多对多关系:无法插入到生成的表中_Jpa_Many To Many - Fatal编程技术网

JPA多对多关系:无法插入到生成的表中

JPA多对多关系:无法插入到生成的表中,jpa,many-to-many,Jpa,Many To Many,我有两个实体“主菜”和“炮位”: @实体 @表(name=“entre”) 公务舱主菜{ @身份证 @GeneratedValue(策略=GenerationType.IDENTITY) @列(name=“ID\u entre”,updateable=false,nullable=false) 私人长识别树; @列(name=“NUM_声明”,insertable=true,updateable=true,nullable=true) 私有字符串numDeclaration; @列(name=“

我有两个实体“主菜”和“炮位”:

@实体
@表(name=“entre”)
公务舱主菜{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“ID\u entre”,updateable=false,nullable=false)
私人长识别树;
@列(name=“NUM_声明”,insertable=true,updateable=true,nullable=true)
私有字符串numDeclaration;
@列(name=“DATE\u entre”,insertable=true,updateable=true,nullable=true)
私有字符串数据中心;
@列(name=“TYPE_entre”,insertable=true,updateable=true,nullable=true)
私有字符串类型中心;
@列(name=“NOM_ARTICLE”,insertable=true,updateable=true,nullable=true)
私有字符串noparticle;
@列(name=“TYPE\u ARTICLE”,insertable=true,updateable=true,nullable=true)
私有字符串类型文章;
@列(name=“QUANTITE\u entre”,insertable=true,updateable=true,nullable=true)
私人国际定量中心;
@许多酮
@JoinColumn(name=“idDossier”,nullable=false)
私人档案;
@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.PERSIST)
@可接合(name=“entre_emposition”,
joinColumns={
@JoinColumn(name=“id\u entre”,referencedColumnName=“id\u entre”,
null=false,updateable=false)},
反向连接列={
@JoinColumn(name=“id\u emposition”,referencedColumnName=“id\u emposition”,
nullable=false,updateable=false)})
私有集安放=新HashSet();
主菜{
超级();
}
公共entre(字符串numDeclaration、字符串dateentre、字符串typeentre、字符串noarticle、字符串typeArticle、int quantiteentre、布尔isDone){
超级();
this.numDeclaration=numDeclaration;
this.dateentre=dateentre;
this.typeentre=typeentre;
this.nomArticle=nomArticle;
this.typeArticle=typeArticle;
this.quantiteEntree=quantiteEntree;
}
公共长getIdEntree(){
返回标识树;
}
公共无效集合标识符树(长标识符树){
this.idEntree=idEntree;
}
公共字符串getNumDeclaration(){
返回numDeclaration;
}
public void setNumDeclaration(字符串numDeclaration){
this.numDeclaration=numDeclaration;
}
公共字符串getDateEntre(){
返回日期主菜;
}
公共void setDateEntre(字符串DateEntre){
this.dateentre=dateentre;
}
公共字符串getTypeEntre(){
返回输入中心;
}
公共void settypeentre(字符串typeentre){
this.typeentre=typeentre;
}
公共字符串getNoArticle(){
返回正常粒子;
}
public void setNomArticle(字符串nomArticle){
this.nomArticle=nomArticle;
}
公共字符串getTypeArticle(){
退货物品;
}
公共无效setTypeArticle(字符串typeArticle){
this.typeArticle=typeArticle;
}
public int getQuantiteEntree(){
返回数量中心;
}
公共无效集合quantiteEntree(int quantiteEntree){
this.quantiteEntree=quantiteEntree;
}
公共档案获取档案(){
归还档案;
}
公开作废档案(档案档案){
this.dossier=档案;
}
公共集合GetImplements(){
返回阵地;
}
公共空白添加嵌入(嵌入){
this.emposition.add(emposition);
emposition.getentres().add(这个);
}
公共空间移除嵌入(嵌入){
这个。就位。移除(就位);
emposition.getentres().remove(这个);
}
}
这里是第二个实体:

@Entity
@Table(name = "EMPLACEMENT")
public class Emplacement {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_EMPLACEMENT", updatable = false, nullable = false)
private long idEmplacement;

@Column(name = "NUM_EMPLACEMENT",  insertable=true, updatable=true, nullable=false)
private String numEmplacement;

@ManyToMany(mappedBy = "emplacement", fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
private Set<Entree> entree = new HashSet<>();
    

public Emplacement() {
}



public Emplacement( String numEmplacement) {
    this.numEmplacement = numEmplacement;       
}
 
public long getIdEmplacement() {
    return idEmplacement;
}

public void setIdEmplacement(long idEmplacement) {
    this.idEmplacement = idEmplacement;
}

public String getNumEmplacement() {
    return numEmplacement;
}

public void setNumEmplacement(String numEmplacement) {
    this.numEmplacement = numEmplacement;
}


public Set<Entree> getEntrees() {
    return entree;
}

}
@实体
@表(name=“安放”)
公营炮位{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“ID_emposition”,updateable=false,nullable=false)
私人长标识;
@列(name=“NUM_emposition”,insertable=true,updateable=true,nullable=false)
私人配售;
@ManyToMany(mappedBy=“emposition”,fetch=FetchType.LAZY,cascade={CascadeType.ALL})
私有集合entre=newhashset();
公共阵地(){
}
公共阵地(阵地){
this.numplacement=numEmplacement;
}
公共长getIdEmplacement(){
返回标识;
}
public void setIdEmplacement(长idEmplacement){
this.idEmplacement=idEmplacement;
}
公共字符串getNumEmplacement(){
返回numEmplacement;
}
公共void setNumEmplacement(字符串numEmplacement){
this.numplacement=numEmplacement;
}
公共集合getentres(){
返回主菜;
}
}
这是我的插入代码:

@PostMapping("/ajouterEntree")
public ResponseEntity<String> addEntree(@Valid Entree entree, BindingResult result,ModelMap modelMap, @RequestParam(name = "numDossier") String numDossier, @RequestParam(name = "emplacement") String liste_emplacements) {

Emplacement e = new Emplacement(liste_emplacements);
                
                
                entree.getEmplacements().add(e);
                
                entreeService.saveEntree(entree);
                
                return new ResponseEntity<String>("ok" + result, HttpStatus.OK);
            }
      
@PostMapping(/ajouterEntree)
public ResponseEntity addEntree(@Valid entre-entre,BindingResult-result,ModelMap-ModelMap,@RequestParam(name=“numDossier”)字符串numDossier,@RequestParam(name=“emposition”)字符串列表{
侵位e=新侵位(列表侵位);
entre.getempositions().add(e);
EntereService.SaveEntre(主菜);
返回新的响应属性(“ok”+结果,HttpStatus.ok);
}
我可以将数据插入到entre和emposition表中,但是生成的第三个名为entre emposition的表是空的

那个么,如何将数据插入@ManyToMany关系中生成的表中呢?
谢谢

好的,问题解决了。这是我的密码:

if(!liste_emplacements.equals(""))
            {
                List<String> list = new ArrayList<String>(Arrays.asList(liste_emplacements.split(",")));
                Emplacement[] emp = new Emplacement[list.size()];
                for (int i=0; i<list.size() ;i++)
                 {
                     emp[i] = new Emplacement(Long.parseLong(list.get(i)));
                     entree.getEmplacements().add(emp[i]);
                     emp[i].getEntrees().add(entree);

                 }
            }
            
            entreeService.saveEntree(entree);
            return new ResponseEntity<String>("ok" + result, HttpStatus.OK);
if(!liste_empositions.equals(“”)
{
List List=newarraylist(Arrays.asList(liste_emplacements.split(“,”));
侵位[]emp=新侵位[list.size()];
对于(int i=0;i
if(!liste_emplacements.equals(""))
            {
                List<String> list = new ArrayList<String>(Arrays.asList(liste_emplacements.split(",")));
                Emplacement[] emp = new Emplacement[list.size()];
                for (int i=0; i<list.size() ;i++)
                 {
                     emp[i] = new Emplacement(Long.parseLong(list.get(i)));
                     entree.getEmplacements().add(emp[i]);
                     emp[i].getEntrees().add(entree);

                 }
            }
            
            entreeService.saveEntree(entree);
            return new ResponseEntity<String>("ok" + result, HttpStatus.OK);