Hi Brian,

Responses inline below

On Fri, Oct 15, 2010 at 2:29 PM, brian.fed7 <[email protected]> wrote:

>
> I have below questions w.r.t OpenJPA and using OpenJPA 2.0.1 on IBM WAS
> v7.0.
> I kindly request you to clarify:
>
>
> 1.
> I do understand that the JPA Spec says that OpenJPA needs to monitor the
> entities and so we have to do entity class enhancements either at build
> time
> or runtime but in the first place, are there any performance related
> benefits for doing OpenJPA entity class enhancement? If so what kind of
> performance benefits do we get if we do OpenJPA entity class enhancement?
>

I don't have any definite number related to improved performance, however In
my subjective experience enhanced entities do perform better.

They also work in more scenarios. There are several open bugs which only
occur when you do not enhance your entity classes.


> 2.
> I am using IBM RSA 8.0 and IBM WAS 7.0.0.11 Test Enivironment inside IBM
> RSA
> 8.0 and IBM WAS 7.0.0.11 comes with OpenJPA 2.0.x
> Below are the steps I have done for using OpenJPA in our Ear/Web
> Application
> deployed on IBM RAD/WAS v7.0.0.11:
> a. I have downloaded the latest OpenJPA 2.0.1 jars and created a java
> utility project(say for example, my-commons) inside RSA and placed the
> OpenJPA jars inside my-commons\lib
> b. declared all my Entities in persistence.xml
> c. use JPA annotations for all my Entities
> Now, I have not done any entity class enhancement processing at build time
> and also set this property "                    <property
> name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />" in my
> persistence.xml.
> Since IBM WAS 7.0.0.11 Test Environment automatically comes with "WebSphere
> OSGi/JPA 2.0 Feature Pack" and since my application will be deployed on
> WAS,
> I'll assuming that I'll automatically get entity class enhancement at
> deploy-time/runtime using WAS. Is my assumption correct?
>

You're correct. Your entities will be enhanced automatically when they're
first loaded in WAS.


>  3.

When I try to persist an entity and its child entity using OpenJPA I am
> getting below kind messages in IBM WAS SystemErr.log. Why I am getting such
> messages and how to solve them?:
> [10/14/10 19:57:27:662] 00000033 SystemErr     R 213672  MyDomain  WARN
> [WebContainer : 4] openjpa.jdbc.Schema - Existing column "USER_NAME" on
> table "DB2ADMIN.Users" is incompatible with the same column in the given
> schema definition. Existing column:
> Full Name: Users.USER_NAME
> Type: varchar
> Size: 20
> Default: null
> Not Null: true
> Given column:
> Full Name: Users.USER_NAME
> Type: varchar
> Size: 254
> Default: null
> Not Null: false
>

Try adding
@Column(length=20, nullable=false) to your entity class. In this case we've
detected a column that doesn't match what you have in your entity. It's most
likely because you didn't specify the size or nullability of the column in
your entity (but they are specified in the database).


>  4.
> When I try to persist an entity and its child entity using OpenJPA I am
> getting below kind messages in IBM WAS SystemErr.log. Why so many queries
> are running on the same table SYSCAT.SEQUENCES:
> [10/14/10 19:53:53:990 ] 00000019 SystemErr     R 0  MyDomain  WARN
> [SoapConnectorThreadPool : 1] openjpa.Runtime - An error occurred while
> regering a ClassTransformer with PersenceUnitInfo: name 'MyDomain', root
> URL
> [file:/C:/brianfed/Eclipse.Workspaces/RSA.V8/icifentities/src/]. The error
> has been consumed. To see it, set your openjpa.Runtime log level to TRACE.
> Load-time class transformation will not be available.
> [10/14/10 19:57:17:521 ] 00000033 SystemErr     R 203531  MyDomain  INFO
> [WebContainer : 4] openjpa.Runtime - Starting OpenJPA 2.0.0
> [10/14/10 19:57:18:021 ] 00000033 SystemErr     R 204031  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 238030384>
> executing stmnt 698231198 SELECT CURRENT SCHEMA FROM SYSIBM.SYSDUMMY1
> [10/14/10 19:57:18:068 ] 00000033 SystemErr     R 204078  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 238030384> [47
> ms]
> spent
> [10/14/10 19:57:19:037 ] 00000033 SystemErr     R 205047  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 378803860>
> executing prepstmnt 1428706600 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:19:037 ] 00000033 SystemErr     R 205047  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 378803860> [0 ms]
> spent
> [10/14/10 19:57:19:271 ] 00000033 SystemErr     R 205281  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 165546462>
> executing prepstmnt 1181042277 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:19:271 ] 00000033 SystemErr     R 205281  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 165546462> [0 ms]
> spent
> [10/14/10 19:57:19:443 ] 00000033 SystemErr     R 205453  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1959687374>
> executing prepstmnt 1032797583 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:19:459 ] 00000033 SystemErr     R 205469  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1959687374> [16
> ms] spent
> [10/14/10 19:57:19:631 ] 00000033 SystemErr     R 205641  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1811573754>
> executing prepstmnt 974469653 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:19:631 ] 00000033 SystemErr     R 205641  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1811573754> [0
> ms]
> spent
> [10/14/10 19:57:19:803 ] 00000033 SystemErr     R 205813  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1753180287>
> executing prepstmnt 1004878821 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:19:803 ] 00000033 SystemErr     R 205813  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1753180287> [0
> ms]
> spent
> [10/14/10 19:57:20:006 ] 00000033 SystemErr     R 206016  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1788308119>
> executing prepstmnt 739847193 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:20:006 ] 00000033 SystemErr     R 206016  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1788308119> [0
> ms]
> spent
> [10/14/10 19:57:20:224 ] 00000033 SystemErr     R 206234  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1518623364>
> executing prepstmnt 444209786 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:20:224 ] 00000033 SystemErr     R 206234  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1518623364> [0
> ms]
> spent
> [10/14/10 19:57:20:428 ] 00000033 SystemErr     R 206438  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1222854883>
> executing prepstmnt 391124816 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:20:428 ] 00000033 SystemErr     R 206438  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1222854883> [0
> ms]
> spent
> [10/14/10 19:57:20:662 ] 00000033 SystemErr     R 206672  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1169769913>
> executing prepstmnt 361436555 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:20:662 ] 00000033 SystemErr     R 206672  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1169769913> [0
> ms]
> spent
> [10/14/10 19:57:20:865 ] 00000033 SystemErr     R 206875  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1140147189>
> executing prepstmnt 73925736 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS
> SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:20:865 ] 00000033 SystemErr     R 206875  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1140147189> [0
> ms]
> spent
> [10/14/10 19:57:21:037 ] 00000033 SystemErr     R 207047  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 950483111>
> executing prepstmnt 2043705808 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:21:037 ] 00000033 SystemErr     R 207047  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 950483111> [0 ms]
> spent
> [10/14/10 19:57:21:256 ] 00000033 SystemErr     R 207266  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 674834489>
> executing prepstmnt 1824091321 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:21:256 ] 00000033 SystemErr     R 207266  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 674834489> [0 ms]
> spent
> [10/14/10 19:57:21:459 ] 00000033 SystemErr     R 207469  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 455482150>
> executing prepstmnt 1558928619 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:21:459 ] 00000033 SystemErr     R 207469  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 455482150> [0 ms]
> spent
> [10/14/10 19:57:21:646 ] 00000033 SystemErr     R 207656  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 190253911>
> executing prepstmnt 1281838183 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:21:646 ] 00000033 SystemErr     R 207656  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 190253911> [0 ms]
> spent
> [10/14/10 19:57:21:834 ] 00000033 SystemErr     R 207844  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 30343631>
> executing prepstmnt 1169245617 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:21:849 ] 00000033 SystemErr     R 207859  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 30343631> [15 ms]
> spent
> [10/14/10 19:57:22:053 ] 00000033 SystemErr     R 208063  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1948546084>
> executing prepstmnt 267587571 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:22:053 ] 00000033 SystemErr     R 208063  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1948546084> [0
> ms]
> spent
> [10/14/10 19:57:22:240 ] 00000033 SystemErr     R 208250  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1104101839>
> executing prepstmnt 113116862 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:22:256 ] 00000033 SystemErr     R 208266  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1104101839> [16
> ms] spent
> [10/14/10 19:57:22:443 ] 00000033 SystemErr     R 208453  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 891958570>
> executing prepstmnt 2011920363 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:22:443 ] 00000033 SystemErr     R 208453  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 891958570> [0 ms]
> spent
> [10/14/10 19:57:22:646 ] 00000033 SystemErr     R 208656  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 643049044>
> executing prepstmnt 1843293662 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:22:646 ] 00000033 SystemErr     R 208656  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 643049044> [0 ms]
> spent
> [10/14/10 19:57:22:849 ] 00000033 SystemErr     R 208859  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 474618954>
> executing prepstmnt 828715365 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:22:849 ] 00000033 SystemErr     R 208859  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 474618954> [0 ms]
> spent
> [10/14/10 19:57:23:053 ] 00000033 SystemErr     R 209063  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1607163851>
> executing prepstmnt 1594449673 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:23:053 ] 00000033 SystemErr     R 209063  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 1607163851> [0
> ms]
> spent
> [10/14/10 19:57:23:256 ] 00000033 SystemErr     R 209266  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 225643891>
> executing prepstmnt 1488083122 SELECT SEQSCHEMA AS SEQUENCE_SCHEMA, SEQNAME
> AS SEQUENCE_NAME FROM SYSCAT.SEQUENCES
> [10/14/10 19:57:23:256 ] 00000033 SystemErr     R 209266  MyDomain  TRACE
> [WebContainer : 4] openjpa.jdbc.SQL - <t 1010646077, conn 225643891> [0 ms]
> spent
> [10/14/10 19:57:27:646 ] 00000033 SystemErr     R 213656  MyDomain  WARN
> [WebContainer : 4] openjpa.jdbc.Schema - Exing column "ACL_NAME" on table
> "DB2ADMIN.Acl" is incompatible with the same column in the given schema
> definition. Exing column:
>

Looks like we're inspecting the existing schema information. Seems like a
lot of calls, but I haven't run with DB2 in a while. Which version and
platform of DB2 are you using?

5.
> If I use IBM RSA 7.5.4 comes with IBM WAS 7.0.x Test Environment & IBM WAS
> 7.0.x Test Environment does not have "WebSphere OSGi/JPA 2.0 Feature Pack"
> and IBM WAS 7.0.x comes with OpenJPA 1.0.x. In this scenario, since my
> application will be deployed on WAS, I'll assuming that I'll automatically
> get entity class enhancement at deploy-time/runtime using WAS and I do not
> have to any OpenJPA entity class enhancement at build-time. Is my
> assumption
> correct?
>

Correct. There are some preconditions, like the entities need to be in one
of the JPA supported locations in the application, but in general your
entities will be enhanced by the container automatically.

Nit: WAS 7.0.x actually includes OpenJPA 1.2.x. Not a big deal, but it might
save some confusion down the road.


>
>
>
> Thank you for your time and reply.
>
> --
> View this message in context:
> http://openjpa.208410.n2.nabble.com/OpenJPA-Questions-tp5640165p5640165.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>

Reply via email to