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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.2
    • 2.4.0
    • None
    • 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.txt
          1 kB
          Dalia Abo Sheasha
        2. OPENJPA-2389.patch
          3 kB
          Ben

        Activity

          People

            curtisr7 Richard G. Curtis
            gmazza Glen Mazza
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: