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

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0.1
    • Fix Version/s: None
    • Component/s: jpa
    • Labels:
      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. EmailDb.java
          2 kB
          Kai Feng Zhang
        2. ListFieldDb.java
          4 kB
          Kai Feng Zhang
        3. PersonDb.java
          33 kB
          Kai Feng Zhang

          Activity

            People

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

              Dates

              • Created:
                Updated: