Note that there are some explanatory texts on larger screens.

plurals
  1. POLazy loading does not works for ManyToOne in eclipselink
    primarykey
    data
    text
    <p>Address has many-to-one relationship with person like :</p> <p>Person :</p> <pre><code>@Id @Column(name="personid") private Long personId; private String firstName; private String lastName; private String email; @OneToMany(cascade = CascadeType.ALL,mappedBy="person",targetEntity=Address.class,fetch=FetchType.LAZY) private List addressArray=new ArrayList&lt;&gt;(); public Person() { } </code></pre> <p>and Address :</p> <pre><code>@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="personId") private Person person; </code></pre> <p>I want to access person's firstname from the address object like "address.person.firstname" but it always eager load the person ? </p> <p>I also tried to static weave it using maven my pom.xml contains :</p> <pre><code>&lt;plugins&gt; &lt;artifactId&gt;maven-antrun-plugin&lt;/artifactId&gt; &lt;executions&gt; &lt;execution&gt; &lt;phase&gt;process-classes&lt;/phase&gt; &lt;configuration&gt; &lt;tasks&gt; &lt;java classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeave" classpathref="maven.runtime.classpath" fork="true"&gt; &lt;arg line="-loglevel FINE -persistenceinfo src target/classes target/classes"/&gt; &lt;/java&gt; &lt;/tasks&gt; &lt;/configuration&gt; &lt;goals&gt; &lt;goal&gt;run&lt;/goal&gt; &lt;/goals&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;/plugins&gt; </code></pre> <p>also added <code>&lt;property name="eclipselink.weaving" value="static"/&gt;</code> in persistence.xml</p> <p>I also tried dynamic weaving but it gives exception :</p> <pre><code>java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:382) at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:397) Caused by: java.lang.NoClassDefFoundError: javax/persistence/spi/PersistenceUnitInfo at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.initializeFromAgent(JavaSECMPInitializerAgent.java:44) at org.eclipse.persistence.internal.jpa.deployment.JavaSECMPInitializerAgent.premain(JavaSECMPInitializerAgent.java:39) ... 6 more Caused by: java.lang.ClassNotFoundException: javax.persistence.spi.PersistenceUnitInfo at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 10 more FATAL ERROR in native method: processing of -javaagent failed Exception in thread "main" </code></pre> <p>My static woven class files show following methods but still does not work :</p> <p><img src="https://i.stack.imgur.com/MA8D3.png" alt="enter image description here"></p> <p>Please check my log after weaving when weaving=static and logging = FINEST</p> <pre><code>[EL Finest]: jpa: 2013-09-26 18:07:40.453--ServerSession(8941730)--Thread(Thread[main,5,main])--Begin predeploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Initial; factoryCount 0 [EL Finest]: properties: 2013-09-26 18:07:40.475--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.orm.throw.exceptions; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.475--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.changetracking; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.476--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.lazy; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.476--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.eager; default value=false [EL Finest]: properties: 2013-09-26 18:07:40.476--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.fetchgroups; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.476--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.internal; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.476--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.weaving.rest; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.477--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.multitenant.tenants-share-emf; default value=true [EL Finest]: properties: 2013-09-26 18:07:40.478--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.multitenant.tenants-share-cache; default value=false [EL Finer]: metadata: 2013-09-26 18:07:40.496--ServerSession(8941730)--Thread(Thread[main,5,main])--Searching for default mapping file in file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/ (There is no English translation for this message.) [EL Finer]: metadata: 2013-09-26 18:07:40.5--ServerSession(8941730)--Thread(Thread[main,5,main])--Searching for default mapping file in file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/ (There is no English translation for this message.) [EL Config]: metadata: 2013-09-26 18:07:40.681--ServerSession(8941730)--Thread(Thread[main,5,main])--The access type for the persistent class [class com.altametrics.persistence.services.Address] is set to [FIELD]. [EL Config]: metadata: 2013-09-26 18:07:40.723--ServerSession(8941730)--Thread(Thread[main,5,main])--The target entity (reference) class for the many to one mapping element [field person] is being defaulted to: class com.altametrics.persistence.services.Person. [EL Config]: metadata: 2013-09-26 18:07:40.725--ServerSession(8941730)--Thread(Thread[main,5,main])--The access type for the persistent class [class com.altametrics.persistence.services.Person] is set to [FIELD]. [EL Config]: metadata: 2013-09-26 18:07:40.733--ServerSession(8941730)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.altametrics.persistence.services.Address] is being defaulted to: Address. [EL Config]: metadata: 2013-09-26 18:07:40.735--ServerSession(8941730)--Thread(Thread[main,5,main])--The table name for entity [class com.altametrics.persistence.services.Address] is being defaulted to: ADDRESS. [EL Config]: metadata: 2013-09-26 18:07:40.759--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [id] is being defaulted to: ID. [EL Config]: metadata: 2013-09-26 18:07:40.761--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [addressLine2] is being defaulted to: ADDRESSLINE2. [EL Config]: metadata: 2013-09-26 18:07:40.762--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [addressLine1] is being defaulted to: ADDRESSLINE1. [EL Config]: metadata: 2013-09-26 18:07:40.762--ServerSession(8941730)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.altametrics.persistence.services.Person] is being defaulted to: Person. [EL Config]: metadata: 2013-09-26 18:07:40.762--ServerSession(8941730)--Thread(Thread[main,5,main])--The table name for entity [class com.altametrics.persistence.services.Person] is being defaulted to: PERSON. [EL Config]: metadata: 2013-09-26 18:07:40.763--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [id] is being defaulted to: ID. [EL Config]: metadata: 2013-09-26 18:07:40.763--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [lastName] is being defaulted to: LASTNAME. [EL Config]: metadata: 2013-09-26 18:07:40.763--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [email] is being defaulted to: EMAIL. [EL Config]: metadata: 2013-09-26 18:07:40.764--ServerSession(8941730)--Thread(Thread[main,5,main])--The column name for element [firstName] is being defaulted to: FIRSTNAME. [EL Config]: metadata: 2013-09-26 18:07:40.785--ServerSession(8941730)--Thread(Thread[main,5,main])--The primary key column name for the mapping element [field person] is being defaulted to: ID. [EL Finer]: weaver: 2013-09-26 18:07:40.805--ServerSession(8941730)--Thread(Thread[main,5,main])--Class [com.altametrics.persistence.services.Address] registered to be processed by weaver. [EL Finer]: weaver: 2013-09-26 18:07:40.807--ServerSession(8941730)--Thread(Thread[main,5,main])--Class [com.altametrics.persistence.services.Person] registered to be processed by weaver. [EL Finest]: jpa: 2013-09-26 18:07:40.809--ServerSession(8941730)--Thread(Thread[main,5,main])--End predeploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Predeployed; factoryCount 0 [EL Finer]: weaver: 2013-09-26 18:07:40.81--Thread(Thread[main,5,main])--JavaSECMPInitializer - transformer is null. [EL Finest]: jpa: 2013-09-26 18:07:40.81--ServerSession(8941730)--Thread(Thread[main,5,main])--Begin predeploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Predeployed; factoryCount 0 [EL Finest]: jpa: 2013-09-26 18:07:40.81--ServerSession(8941730)--Thread(Thread[main,5,main])--End predeploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Predeployed; factoryCount 1 [EL Finest]: jpa: 2013-09-26 18:07:40.815--ServerSession(8941730)--Thread(Thread[main,5,main])--Begin deploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Predeployed; factoryCount 1 [EL Finer]: 2013-09-26 18:07:40.829--ServerSession(8941730)--Thread(Thread[main,5,main])--Could not initialize Validation Factory. Encountered following exception: java.lang.NoClassDefFoundError: javax/validation/Validation [EL Finest]: properties: 2013-09-26 18:07:40.831--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.logging.level; value=FINEST; translated value=FINEST [EL Finest]: properties: 2013-09-26 18:07:40.832--ServerSession(8941730)--Thread(Thread[main,5,main])--property=eclipselink.logging.level; value=FINEST; translated value=FINEST [EL Finest]: properties: 2013-09-26 18:07:40.837--ServerSession(8941730)--Thread(Thread[main,5,main])--property=javax.persistence.jdbc.user; value=root [EL Finest]: properties: 2013-09-26 18:07:40.837--ServerSession(8941730)--Thread(Thread[main,5,main])--property=javax.persistence.jdbc.password; value=xxxxxx [EL Finest]: properties: 2013-09-26 18:07:41.502--ServerSession(8941730)--Thread(Thread[main,5,main])--property=javax.persistence.jdbc.driver; value=com.mysql.jdbc.Driver [EL Finest]: properties: 2013-09-26 18:07:41.502--ServerSession(8941730)--Thread(Thread[main,5,main])--property=javax.persistence.jdbc.url; value=jdbc:mysql://localhost:3306/sample [EL Info]: 2013-09-26 18:07:41.506--ServerSession(8941730)--Thread(Thread[main,5,main])--EclipseLink, version: Eclipse Persistence Services - 2.5.0.v20130507-3faac2b [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.757--Thread(Thread[main,5,main])--(?i)oracle.*12 (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.757--Thread(Thread[main,5,main])--(?i)oracle.*11 (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.757--Thread(Thread[main,5,main])--(?i)oracle.*10 (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.758--Thread(Thread[main,5,main])--(?i)oracle.*9 (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.758--Thread(Thread[main,5,main])--(?i)oracle.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.758--Thread(Thread[main,5,main])--SQL\ Anywhere.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.758--Thread(Thread[main,5,main])--(?i)(sybase.*)|(adaptive\ server\ enterprise.*)|(SQL\ Server.*) (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.759--Thread(Thread[main,5,main])--(?i)microsoft.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.759--Thread(Thread[main,5,main])--(?i).*derby.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.759--Thread(Thread[main,5,main])--(?i).*db2.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.759--Thread(Thread[main,5,main])--(?i)pointbase.* (There is no English translation for this message.) [EL Finest]: dbPlatformHelper_regExprDbPlatform: 2013-09-26 18:07:41.759--Thread(Thread[main,5,main])--(?i)mysql.* (There is no English translation for this message.) [EL Fine]: connection: 2013-09-26 18:07:41.76--Thread(Thread[main,5,main])--Detected database platform: org.eclipse.persistence.platform.database.MySQLPlatform [EL Config]: connection: 2013-09-26 18:07:41.771--ServerSession(8941730)--Connection(7521179)--Thread(Thread[main,5,main])--connecting(DatabaseLogin( platform=&gt;MySQLPlatform user name=&gt; "root" datasource URL=&gt; "jdbc:mysql://localhost:3306/sample" )) [EL Config]: connection: 2013-09-26 18:07:41.783--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connected: jdbc:mysql://localhost:3306/sample User: root@localhost Database: MySQL Version: 5.1.39-community Driver: MySQL-AB JDBC Driver Version: mysql-connector-java-5.1.18 ( Revision: tonci.grgin@oracle.com-20110930151701-jfj14ddfq48ifkfq ) [EL Finest]: connection: 2013-09-26 18:07:41.783--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. [EL Finest]: connection: 2013-09-26 18:07:41.783--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection released to connection pool [default]. [EL Info]: connection: 2013-09-26 18:07:41.828--ServerSession(8941730)--Thread(Thread[main,5,main])--file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB login successful [EL Finer]: metamodel: 2013-09-26 18:07:41.841--ServerSession(8941730)--Thread(Thread[main,5,main])--Canonical Metamodel class [com.altametrics.persistence.services.Person_] not found during initialization. [EL Finer]: metamodel: 2013-09-26 18:07:41.842--ServerSession(8941730)--Thread(Thread[main,5,main])--Canonical Metamodel class [com.altametrics.persistence.services.Address_] not found during initialization. [EL Finest]: jpa: 2013-09-26 18:07:41.842--ServerSession(8941730)--Thread(Thread[main,5,main])--End deploying Persistence Unit TestDB; session file:/C:/Users/achyut_anr/achyut_anr/CheckWeaving/bin/_TestDB; state Deployed; factoryCount 1 [EL Finer]: connection: 2013-09-26 18:07:41.863--ServerSession(8941730)--Thread(Thread[main,5,main])--client acquired: 3812334 [EL Finer]: transaction: 2013-09-26 18:07:41.872--ClientSession(3812334)--Thread(Thread[main,5,main])--acquire unit of work: 25692210 [EL Finest]: query: 2013-09-26 18:07:41.887--UnitOfWork(25692210)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(name="readAddress" referenceClass=Address sql="SELECT ID, ADDRESSLINE1, ADDRESSLINE2, personid FROM ADDRESS WHERE (ID = ?)") [EL Finest]: connection: 2013-09-26 18:07:41.889--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. [EL Fine]: sql: 2013-09-26 18:07:41.889--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--SELECT ID, ADDRESSLINE1, ADDRESSLINE2, personid FROM ADDRESS WHERE (ID = ?) bind =&gt; [1] [EL Finest]: connection: 2013-09-26 18:07:41.913--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection released to connection pool [default]. [EL Finest]: query: 2013-09-26 18:07:41.917--ServerSession(8941730)--Thread(Thread[main,5,main])--Execute query ReadObjectQuery(name="person" referenceClass=Person ) [EL Finest]: connection: 2013-09-26 18:07:41.917--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection acquired from connection pool [default]. [EL Fine]: sql: 2013-09-26 18:07:41.918--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--SELECT ID, EMAIL, FIRSTNAME, LASTNAME FROM PERSON WHERE (ID = ?) bind =&gt; [1] [EL Finest]: connection: 2013-09-26 18:07:41.919--ServerSession(8941730)--Connection(27722152)--Thread(Thread[main,5,main])--Connection released to connection pool [default]. [EL Finest]: transaction: 2013-09-26 18:07:41.922--UnitOfWork(25692210)--Thread(Thread[main,5,main])--Register the existing object personId=1 </code></pre> <p>My persistence unit looks like :</p> <pre><code> &lt;persistence-unit name="TestDB"&gt; &lt;provider&gt;org.eclipse.persistence.jpa.PersistenceProvider&lt;/provider&gt; &lt;class&gt;com.altametrics.persistence.services.Person&lt;/class&gt; &lt;class&gt;com.altametrics.persistence.services.Address&lt;/class&gt; &lt;exclude-unlisted-classes&gt;false&lt;/exclude-unlisted-classes&gt; &lt;properties&gt; &lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/sample"/&gt; &lt;property name="javax.persistence.jdbc.password" value="admin"/&gt; &lt;property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/&gt; &lt;property name="javax.persistence.jdbc.user" value="root"/&gt; &lt;property name="eclipselink.weaving" value="static"/&gt; &lt;!-- &lt;property name="eclipselink.ddl-generation" value="drop-and-create-tables" /&gt; --&gt; &lt;property name="eclipselink.logging.level" value="FINEST"/&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload