Hmm, looks ok.

Can you upload an example app to github so I can pull it down and take a
closer look?

Thx
Dan

On Wed, 8 Nov 2017 at 23:12 Serdar Hamzaogullari <hasan.ser...@foreks.com>
wrote:

> Hi Jörg,
>
> IdGeneratorStrategy.IDENTITY did not help. Same result.
>
> Hi Dan,
>
> Here is my repository:
>
>
> @DomainService(
>         nature = NatureOfService.DOMAIN,
>         repositoryFor = ProfilePreferences.class
> )
> public class ProfilePreferencesRepository {
>
>     public List<ProfilePreferences> listAll() {
>         return repositoryService.allInstances(ProfilePreferences.class);
>     }
>
>     public ProfilePreferences get(final String name) {
>         return repositoryService.uniqueMatch(
>                 new QueryDefault<>(
>                         ProfilePreferences.class,
>                         "get",
>                         "name", name));
>     }
>
>     public ProfilePreferences create(final String name) {
>         final ProfilePreferences object = new ProfilePreferences(name);
>         serviceRegistry.injectServicesInto(object);
>         repositoryService.persist(object);
>         return object;
>     }
>
>     @javax.inject.Inject
>     RepositoryService repositoryService;
>     @javax.inject.Inject
>     ServiceRegistry2 serviceRegistry;
> }
>
>
>
> On Wed, Nov 8, 2017 at 8:16 PM, Dan Haywood <d...@haywood-associates.co.uk>
> wrote:
>
> > Hi Serdar,
> >
> > can you show us your repository implementation?
> >
> > I'm wondering why you have defined a query called "Get", I wonder if it's
> > being used in that repo (I don't think it should be, if so)
> >
> > Ta
> > Dan
> >
> >
> > On Wed, 8 Nov 2017 at 17:09 Rade, Joerg / Kuehne + Nagel / Ham GI-DP <
> > joerg.r...@kuehne-nagel.com> wrote:
> >
> > > Hi Serdar,
> > >
> > > did you consider:
> > >
> > > @javax.jdo.annotations.DatastoreIdentity(
> > >         strategy = javax.jdo.annotations.IdGeneratorStrategy.IDENTITY,
> > >         column = "id")
> > >
> > > instead of:
> > >
> > > @PrimaryKey?
> > >
> > > Best regards
> > > Jörg
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Serdar Hamzaogullari [mailto:hasan.ser...@foreks.com]
> > > Gesendet: Mittwoch, 8. November 2017 17:07
> > > An: users@isis.apache.org
> > > Betreff: Menu getAll action returns table with many sql queries for
> each
> > > entry
> > >
> > > Hi,
> > >
> > > I have a menu action like this, listAll action:
> > >
> > >
> > > @DomainService(
> > >         nature = NatureOfService.VIEW_MENU_ONLY,
> > >         objectType = "profile-preferences-services",
> > >         repositoryFor = ProfilePreferences.class
> > > )
> > > @DomainServiceLayout(
> > >         named = "Profile Preferences",
> > >         menuOrder = "3"
> > > )
> > > public class ProfilePreferencesMenu {
> > >
> > >     @Action(semantics = SemanticsOf.SAFE)
> > >     @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
> > >     @MemberOrder(sequence = "1")
> > >     public List<ProfilePreferences> listAll() {
> > >         return profilePreferencesRepository.listAll();
> > >     }
> > > .
> > > .
> > > .
> > >
> > > My Entity is that:
> > >
> > >
> > > @javax.jdo.annotations.PersistenceCapable(
> > >         identityType=IdentityType.APPLICATION,
> > >         table="profile_preferences",
> > >         schema = "dbo"
> > > )
> > > @javax.jdo.annotations.Version(
> > >         strategy= VersionStrategy.VERSION_NUMBER,
> > >         column="version")
> > > @javax.jdo.annotations.Queries({
> > >         @javax.jdo.annotations.Query(
> > >                 name = "get",
> > >                 value = "SELECT "
> > >                         + "FROM
> > > com.foreks.user.settings.domain.preferences.ProfilePreferences "
> > >                         + "WHERE profileName.equals(:name)")
> > > })
> > > @DomainObject(
> > >         objectType = "profile-preferences"
> > > )
> > > public class ProfilePreferences implements
> > Comparable<ProfilePreferences> {
> > >
> > >     public ProfilePreferences(final String profileName) {
> > >         setProfileName(profileName);
> > >     }
> > >
> > >     @javax.jdo.annotations.Column(allowsNull = "false", length= 150)
> > >     @PrimaryKey
> > >     @Getter @Setter
> > >     @Title(prepend = "Profile Preferences: ")
> > >     private String profileName;
> > >
> > >     @javax.jdo.annotations.Column(allowsNull = "true", length = 4000)
> > >     @Property(editing = Editing.ENABLED,hidden = Where.ALL_TABLES)
> > >     @Getter @Setter
> > >     private String preferences;
> > >
> > >     //region > delete (action)
> > >     @Action(semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE)
> > >     public void delete() {
> > >         final String title = titleService.titleOf(this);
> > >         messageService.informUser(String.format("'%s' deleted",
> title));
> > >         repositoryService.remove(this);
> > >     }
> > >     //endregion
> > >
> > >     //region > delete (action)
> > >     @Action(semantics = SemanticsOf.NON_IDEMPOTENT)
> > >     public ProfilePreferences copy(@ParameterLayout(named="Profile
> > Name")
> > > String name) {
> > >         final ProfilePreferences object = new ProfilePreferences(name);
> > >         object.setPreferences(preferences);
> > >         repositoryService.persist(object);
> > >         return object;
> > >     }
> > >     //endregion
> > >
> > >     //region > toString, compareTo
> > >     @Override
> > >     public String toString() {
> > >         return ObjectContracts.toString(this, "profileName");
> > >     }
> > >
> > >     @Override
> > >     public int compareTo(final ProfilePreferences other) {
> > >         return ObjectContracts.compare(this, other, "profileName");
> > >     }
> > >     //endregion
> > >
> > >     //region > injected services
> > >     @javax.inject.Inject
> > >     RepositoryService repositoryService;
> > >
> > >     @javax.inject.Inject
> > >     TitleService titleService;
> > >
> > >     @javax.inject.Inject
> > >     MessageService messageService;
> > >     //endregion
> > >
> > > }
> > >
> > >
> > > When I click the List All action from the wicket viewer menu, server
> logs
> > > this SQL queries:
> > >
> > > 19:03:07,334  [Native               http-nio-8080-exec-4 DEBUG]  SELECT
> > > 'com.foreks.user.settings.domain.preferences.ProfilePreferences' AS
> > > NUCLEUS_TYPE,A0.preferences,A0.profileName,A0.version FROM
> > > dbo.profile_preferences A0
> > > 19:03:07,436  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'ahl'>
> > > 19:03:07,442  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'akbank'>
> > > 19:03:07,448  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'bmd'>
> > > 19:03:07,454  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'DELTA'>
> > > 19:03:07,460  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'foreks'>
> > > 19:03:07,466  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'halky'>
> > > 19:03:07,472  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'hcbs'>
> > > 19:03:07,477  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'issanal'>
> > > 19:03:07,483  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'marbas'>
> > > 19:03:07,489  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'odeabank'>
> > > 19:03:07,495  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'odtu'>
> > > 19:03:07,500  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'osmanli'>
> > > 19:03:07,506  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'piramit'>
> > > 19:03:07,512  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'tebsanal'>
> > > 19:03:07,517  [Native               http-nio-8080-exec-5 DEBUG]  SELECT
> > > A0.preferences,A0.version FROM dbo.profile_preferences A0 WHERE
> > > A0.profileName = <'ZIRAAT'>
> > >
> > >
> > > There is a query for each entity.  The firs query
> > >
> > >  SELECT
> 'com.foreks.user.settings.domain.preferences.ProfilePreferences'
> > > AS NUCLEUS_TYPE,A0.preferences,A0.profileName,A0.version FROM
> > > dbo.profile_preferences A0
> > >
> > > should be enough. Query for every entity becomes a performance problem.
> > > How can I prevent this behavior ? Is there some thing wrong or missing
> in
> > > my Entity Class or Menu Action Class ?
> > >
> > > Help please :)
> > >
> > > --
> > >  <http://www.foreksmobile.com/redirect.html>
> > >
> > > P
> > >
> > > Bu mesaji yazdirmadan önce çevreye olan sorumlulugumuzu bir kez daha
> > > düsünelim.
> > > Please consider the environment before printing this e-mail.
> > >
> > > Bu elektronik posta ve onunla iletilen bütün dosyalar sadece
> göndericisi
> > > tarafından alması amaçlanan yetkili gerçek ya da tüzel kişinin
> kullanımı
> > > içindir. Eğer söz konusu yetkili alıcı değilseniz bu elektronik
> postanın
> > > içeriğini açıklamanız, kopyalamanız, yönlendirmeniz ve kullanmanız
> > > kesinlikle yasaktır ve bu elektronik postayı derhal silmeniz
> > gerekmektedir.
> > > FOREKS bu mesajın içerdiği bilgilerin doğruluğu veya eksiksiz olduğu
> > > konusunda herhangi bir garanti vermemektedir. Bu nedenle bu bilgilerin
> ne
> > > şekilde olursa olsun içeriğinden, iletilmesinden, alınmasından ve
> > > saklanmasından sorumlu değildir. Bu mesajdaki görüşler yalnızca
> gönderen
> > > kişiye aittir ve FOREKS'in görüşlerini yansıtmayabilir.
> > > Bu e-posta bilinen bütün bilgisayar virüslerine karşı taranmıştır.
> > > *
> > > This e-mail and any files transmitted with it are confidential and
> > > intended solely for the use of the individual or entity to whom they
> are
> > > addressed.
> > > If you are not the intended recipient you are hereby notified that any
> > > dissemination, forwarding, copying or use of any of the information is
> > > strictly prohibited, and the e-mail should immediately be deleted.
> FOREKS
> > > makes no warranty as to the accuracy or completeness of any information
> > > contained in this message and hereby excludes any liability of any kind
> > for
> > > the information contained therein or for the information transmission,
> > > reception, storage or use of such in any way whatsoever. The opinions
> > > expressed in this message belong to sender alone and may not
> necessarily
> > > reflect the opinions of FOREKS.
> > > This e-mail has been scanned for all known computer viruses.
> > >
> > > Kühne + Nagel (AG & Co.) KG
> > > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> > > 812773878.
> > > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Dr. Hansjörg Rodi (Vors.
> ),
> > > Martin Brinkmann, Holger Ketz, Jan-Hendrik Köstergarten, Nicholas
> Minde,
> > > Michael Nebel, Lars Wedel, Matthias Weiner.
> > > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> > > Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> > > Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > > Geschäftsleitung Region Zentral- und Osteuropa: Dr. Hansjörg Rodi
> > (Vors.),
> > > Thierry Held, Uwe Hött, Richard Huhn, Holger Ketz, Jan-Hendrik
> > > Köstergarten, Jan Kunze, Michael Nebel, Guillaume Sauzedde, Mustafa
> > Sener.
> > >
> > > Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> > > Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen
> in
> > > Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§
> 431
> > > HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> > > unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort
> auf
> > 2
> > > SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf
> > 1,25
> > > Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je
> > Schadenereignis,
> > > mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer
> Webseite
> > > als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne
> > zu.
> > >
> >
>
> --
>  <http://www.foreksmobile.com/redirect.html>
>
> P
>
> Bu mesaji yazdirmadan önce çevreye olan sorumlulugumuzu bir kez daha
> düsünelim.
> Please consider the environment before printing this e-mail.
>
> Bu elektronik posta ve onunla iletilen bütün dosyalar sadece göndericisi
> tarafından alması amaçlanan yetkili gerçek ya da tüzel kişinin kullanımı
> içindir. Eğer söz konusu yetkili alıcı değilseniz bu elektronik postanın
> içeriğini açıklamanız, kopyalamanız, yönlendirmeniz ve kullanmanız
> kesinlikle yasaktır ve bu elektronik postayı derhal silmeniz gerekmektedir.
> FOREKS bu mesajın içerdiği bilgilerin doğruluğu veya eksiksiz olduğu
> konusunda herhangi bir garanti vermemektedir. Bu nedenle bu bilgilerin ne
> şekilde olursa olsun içeriğinden, iletilmesinden, alınmasından ve
> saklanmasından sorumlu değildir. Bu mesajdaki görüşler yalnızca gönderen
> kişiye aittir ve FOREKS'in görüşlerini yansıtmayabilir.
> Bu e-posta bilinen bütün bilgisayar virüslerine karşı taranmıştır.
> *
> This e-mail and any files transmitted with it are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.
> If you are not the intended recipient you are hereby notified that any
> dissemination, forwarding, copying or use of any of the information is
> strictly prohibited, and the e-mail should immediately be deleted. FOREKS
> makes
> no warranty as to the accuracy or completeness of any information contained
> in this message and hereby excludes any liability of any kind for the
> information contained therein or for the information transmission,
> reception, storage or use of such in any way whatsoever. The opinions
> expressed in this message belong to sender alone and may not necessarily
> reflect the opinions of FOREKS.
> This e-mail has been scanned for all known computer viruses.
>

Reply via email to