title: Saving new row in database deletes previous row
body: <p>I have a products Entity like:</p>
  <pre><code>@Entity('products')
      export class productsEntity extends BaseEntity{
          @PrimaryGeneratedColumn()
          id: number;
      
          @Column({nullable: false, unique: true})
          title: string;
      
          //..other columns
      
          @Column({type:&quot;integer&quot;, nullable: false})
          units: number;
      
          @ManyToMany( () =&gt; categoryEntity, category =&gt; category.products, {eager: true,})
          @JoinTable( {name:&quot;products_categories&quot;,
                      joinColumn: {name: 'productId', referencedColumnName: 'id'},
                      inverseJoinColumn: {name: 'categoryId', referencedColumnName:'id'}
                    })
          categories: categoryEntity[];
      }
  </code></pre>
  <p>Then i also have a categories Entity:</p>
  <pre><code>@Entity('categories')
  export class categoryEntity extends BaseEntity{
      @PrimaryGeneratedColumn()
      id: number;
  
      @Column({nullable: false, default: 'all', unique: true})
      title: string;
      
      @ManyToMany(()=&gt; productsEntity, product =&gt; product.categories)
      products: productsEntity[];
  }
  </code></pre>
  <p>These two have many to many relationship between them. This is the function i am using to create a new product and save.</p>
  <pre><code>async addProduct(productDetails: productsEntity, username, categor: categoryEntity){
          const {title, description, price, units}  = productDetails;
          try{ 
              let newProduct = new productsEntity();
              newProduct.title = title;
              newProduct.description = description;
              newProduct.price = price;
              newProduct.units = units;
              newProduct.soldBy = username;
             
              newProduct.categories = newProduct?.categories ?? [];
              newProduct.categories.push(categor);
              categor.products= categor?.products?? [];
              categor.products.push(newProduct);
              await newProduct.save();
              await categor.save();
              
          }
          catch(err){
              this.logger.error(err.message);
              throw new HttpException('Failed adding Product.', HttpStatus.INTERNAL_SERVER_ERROR)
          }
      }
  </code></pre>
  <p>Whenever a new product is inserted the previous row gets deleted in the junction table. Example:</p>
  <pre><code> productId | categoryId
  -----------+------------
           8 |          2
          24 |          1
  </code></pre>
  <p>This gets updated instead of making a new row for a new product if i add with an existing category id. like this</p>
  <pre><code> productId | categoryId
  -----------+------------
           8 |          2
          25 |          1
  </code></pre>
  <p>I dont understand whats wrong with this.</p>