Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1797

Can not persist subclass entity with its full data, if this subclass entity has ManyToOne to another entity

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.0.1
    • None
    • jpa
    • None

    Description

      A Person entity class, which has such emails field:

      @OneToMany(targetEntity = EmailDb.class, mappedBy = "person", cascade = CascadeType.ALL)
      protected List<ListField> emails = new ArrayList<ListField>();

      While Email entity is subclass of @MappedSuperclass ListFieldDb.

      Then I create email and add to person:

      EmailDb email = new EmailDb();
      email.setValue(targetAddress);
      email.setPrimary(false);
      email.setType("emailType");

      person.addEmail(emial);
      em.persist(person);

      But what I see from console about email table changes is: INSERT INTO email (oid, person_id) VALUES (?, ?), and other data lost, especially the map key 'person_id' to person table.

      Not sure if I am using something wrong? or this is a known issue?

      I pasted source code files for entity relationship reference. Thanks.

      Attachments

        1. ListFieldDb.java
          4 kB
          Kai Feng Zhang
        2. EmailDb.java
          2 kB
          Kai Feng Zhang
        3. PersonDb.java
          33 kB
          Kai Feng Zhang

        Activity

          People

            Unassigned Unassigned
            zhangkf Kai Feng Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: