[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Unexpected Queries
|
Thanks Tom,
we are porting a 2tier application to 3tier in multible steps. Therefore parts are already
running on Geronimo (JEE complinat) while other parts are still Java SE.
Do I guess right when assuming the weaving with a java agent also works for Geronimo?
Should I post this question on the Geronimo users mailing list?
Kind Regards, Michael
Tom Ware schrieb:
> Hi Michael,
>
> Are you running in an application server, or in Java SE?
>
> In EclipseLink LAZY xToOne mappings are implementated using weaving,
> so depending on your deployment strategy, you may have to do some
> configuration.
>
> - In you are in a Java EE compliant application server, everything
> should work automatically
> - If you are in Java SE, you should run with a java agent
> - If you are in a non Java EE compliant server, you should use static
> weaving
>
> Here are some docs about weaving:
>
> http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#Using_EclipseLink_JPA_Weaving
>
>
> -Tom
>
> Michael Simons wrote:
>> Hello,
>>
>> Assume the following part of our model
>> Scenario (N:1) LoginUser (N:1) Language
>> No attribute is marked "FetchType.EAGER" but all are "LAZY".
>>
>> My test program does the following JPQ:
>> Query q = em.createQuery ("select s from Scenario s where s.id = 1");
>> Scenario scenario = (Scenario)q.getSingleResult ();
>>
>> But EL generates the following queries:
>> SELECT scenario_id, creation_date, vrsion, nme, ext_id, alt_ex_id,
>> jdo_version, login_user_id
>> FROM scenario WHERE (scenario_id = 1);
>>
>> SELECT login_user_id, passwd, mail, phone, alias, nme, login,
>> lnguage_id, sales_office_id
>> FROM login_user WHERE (login_user_id = 1);
>>
>> SELECT lnguage_id, nme, abbreviation FROM lnguage WHERE (lnguage_id
>> = 1);
>>
>> So for a reason I don't know of, EL descides to load the "owner"
>> (login_user) of the scenario as
>> well as the "language" (lnguage_id) of that user.
>>
>> EL behaves the same on other JPQL-Queries, that leads to a problem,
>> because every line is
>> selected in a single statement. So this leads to a mass of SQL
>> statements.
>>
>> My persistence.xml:
>> <persistence-unit name="otee" transaction-type="RESOURCE_LOCAL">
>> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
>> <exclude-unlisted-classes>true</exclude-unlisted-classes>
>>
>> <class>net.uniopt.domain.config.Scenario</class>
>> <class>net.uniopt.domain.sys.Language</class>
>> <class>net.uniopt.domain.usrmngmt.LoginUser</class>
>>
>> <properties>
>> <property name="javax.persistence.jdbc.driver"
>> value="com.mysql.jdbc.Driver"/>
>> <property name="javax.persistence.jdbc.url"
>> value="jdbc:mysql://smithers:3306/ot_diermeier_324"/>
>> <property name="javax.persistence.jdbc.user" value="otcs"/>
>> <property name="javax.persistence.jdbc.password" value="otcs"/>
>> <property name="eclipselink.persistence-context.flush-mode"
>> value="Commit" />
>> <!-- To print SQL statements -->
>> <property name="eclipselink.logging.level" value="FINE" />
>> </properties>
>>
>> </persistence-unit>
>>
>>
>> Any hint is appreciated.
>>
>> Kind Regards, Michael
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>