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

For entity fields missing @Transient annotations, let us know the classes they are in.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.2
    • Fix Version/s: 2.4.0
    • Component/s: None
    • Labels:
      None

      Description

      Hi, I'm on the Apache Roller team and we apparently have a dozen or so missing @Transient annotations somewhere within our many, many persistence classes but OpenJPA just tells us the element missing the annotation, not the entity class where that element is located[1].

      For example, running mvn test from Roller's weblogger-business module:

      575 RollerPU WARN [main] openjpa.Runtime - Fields "categories" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      575 RollerPU WARN [main] openjpa.Runtime - Fields "entryAttributes" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      575 RollerPU WARN [main] openjpa.Runtime - Fields "tags" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      740 RollerPU WARN [main] openjpa.Runtime - Fields "inputStream" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      740 RollerPU WARN [main] openjpa.Runtime - Fields "directory" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      740 RollerPU WARN [main] openjpa.Runtime - Fields "tags" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.
      781 RollerPU WARN [main] openjpa.Runtime - Fields "parent" are not a default persistent type, and do not have any annotations indicating their persistence strategy. They will be treated as non-persistent. If you intended for these fields to be persistent, be sure to annotate them appropriately. Otherwise annotate them with @Transient.

      These fields are so generic they could be on any of a half-dozen entity classes. If you could alter the error message to include the entity class where the field missing @Transient is located, it would be much easier for code cleanup/debugging. Thanks!

      [1] http://mail-archives.apache.org/mod_mbox/openjpa-commits/201201.mbox/%3C20120103184609.3E6B32388AB9@eris.apache.org%3E

        Attachments

        1. OPENJPA-2389.patch
          3 kB
          Ben
        2. OPENJPA-2389.txt
          1 kB
          Dalia Abo Sheasha

          Activity

            People

            • Assignee:
              curtisr7 Rick Curtis
              Reporter:
              gmazza Glen Mazza
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: