openjpa indexes

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

openjpa indexes

Matthew Broadhead-2
recently had an application running slowly and had to manually add an
index.  but openjpa seemed to create all the other indexes automatically.
my structure was like
Bill
has a collection of
BillMoney
has a collection of
BillSection
has a collection of
BillEntry

BillMoney was automatically created with index I_BLLMONY_BILL which
related to the Bill id
BillSection was automatically created with index I_BLLSCTN_BILLMONEY
which related to the BillMoney section
But BillEntry did not have an index.

BillEntry was a pre existing table so could that have something to do
with it?  is there any way to force indexes to be created?
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
This might help for the latest OpenJpa (it should have partial 2.1
compatibility)
https://stackoverflow.com/a/22658951/3571661

On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
<[hidden email]> wrote:

> recently had an application running slowly and had to manually add an
> index.  but openjpa seemed to create all the other indexes automatically.
> my structure was like
> Bill
> has a collection of
> BillMoney
> has a collection of
> BillSection
> has a collection of
> BillEntry
>
> BillMoney was automatically created with index I_BLLMONY_BILL which
> related to the Bill id
> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> which related to the BillMoney section
> But BillEntry did not have an index.
>
> BillEntry was a pre existing table so could that have something to do
> with it?  is there any way to force indexes to be created?
>


--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Matthew Broadhead-2
i saw a similar example but was hoping the index could be automatically
created.  some indexes are automatically created but seeingly not others.
i tried the annotations as in the example and the index is never
created.  here is what i have added to my class
@Entity
@Table(name = "billentry", indexes = {
         @Index(name = "I_BLLNTRY_SECTION", columnList =
"BILLSECTION_ID", unique = false),
         @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
"btentryid", unique = false) })
public class BillEntry implements Serializable {
     private static final long serialVersionUID = 1L;

     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;

     @Version
     private Long version;

     @ManyToOne
     private BillSection billSection;

     @ManyToOne
     @Column(name = "btentryid")
     private BillTemplateEntry billTemplateEntry;

On 12/12/2018 02:34, Maxim Solodovnik wrote:

> This might help for the latest OpenJpa (it should have partial 2.1
> compatibility)
> https://stackoverflow.com/a/22658951/3571661
>
> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> <[hidden email]> wrote:
>
>> recently had an application running slowly and had to manually add an
>> index.  but openjpa seemed to create all the other indexes automatically.
>> my structure was like
>> Bill
>> has a collection of
>> BillMoney
>> has a collection of
>> BillSection
>> has a collection of
>> BillEntry
>>
>> BillMoney was automatically created with index I_BLLMONY_BILL which
>> related to the Bill id
>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
>> which related to the BillMoney section
>> But BillEntry did not have an index.
>>
>> BillEntry was a pre existing table so could that have something to do
>> with it?  is there any way to force indexes to be created?
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
Indicies seems to be auto-created on
@Id, @PrimaryKeyJoinColumn and @JoinColumn

just have tested with MySql DB Index seems not being created
will try to debug


On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
<[hidden email]> wrote:

> i saw a similar example but was hoping the index could be automatically
> created.  some indexes are automatically created but seeingly not others.
> i tried the annotations as in the example and the index is never
> created.  here is what i have added to my class
> @Entity
> @Table(name = "billentry", indexes = {
>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> "BILLSECTION_ID", unique = false),
>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> "btentryid", unique = false) })
> public class BillEntry implements Serializable {
>      private static final long serialVersionUID = 1L;
>
>      @Id
>      @GeneratedValue(strategy = GenerationType.IDENTITY)
>      private Long id;
>
>      @Version
>      private Long version;
>
>      @ManyToOne
>      private BillSection billSection;
>
>      @ManyToOne
>      @Column(name = "btentryid")
>      private BillTemplateEntry billTemplateEntry;
>
> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > This might help for the latest OpenJpa (it should have partial 2.1
> > compatibility)
> > https://stackoverflow.com/a/22658951/3571661
> >
> > On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > <[hidden email]> wrote:
> >
> >> recently had an application running slowly and had to manually add an
> >> index.  but openjpa seemed to create all the other indexes
> automatically.
> >> my structure was like
> >> Bill
> >> has a collection of
> >> BillMoney
> >> has a collection of
> >> BillSection
> >> has a collection of
> >> BillEntry
> >>
> >> BillMoney was automatically created with index I_BLLMONY_BILL which
> >> related to the Bill id
> >> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> >> which related to the BillMoney section
> >> But BillEntry did not have an index.
> >>
> >> BillEntry was a pre existing table so could that have something to do
> >> with it?  is there any way to force indexes to be created?
> >>
> >
>
>

--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Matthew Broadhead-2
i am using mysql

On 15/12/2018 09:35, Maxim Solodovnik wrote:

> Indicies seems to be auto-created on
> @Id, @PrimaryKeyJoinColumn and @JoinColumn
>
> just have tested with MySql DB Index seems not being created
> will try to debug
>
>
> On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> <[hidden email]> wrote:
>
>> i saw a similar example but was hoping the index could be automatically
>> created.  some indexes are automatically created but seeingly not others.
>> i tried the annotations as in the example and the index is never
>> created.  here is what i have added to my class
>> @Entity
>> @Table(name = "billentry", indexes = {
>>           @Index(name = "I_BLLNTRY_SECTION", columnList =
>> "BILLSECTION_ID", unique = false),
>>           @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
>> "btentryid", unique = false) })
>> public class BillEntry implements Serializable {
>>       private static final long serialVersionUID = 1L;
>>
>>       @Id
>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
>>       private Long id;
>>
>>       @Version
>>       private Long version;
>>
>>       @ManyToOne
>>       private BillSection billSection;
>>
>>       @ManyToOne
>>       @Column(name = "btentryid")
>>       private BillTemplateEntry billTemplateEntry;
>>
>> On 12/12/2018 02:34, Maxim Solodovnik wrote:
>>> This might help for the latest OpenJpa (it should have partial 2.1
>>> compatibility)
>>> https://stackoverflow.com/a/22658951/3571661
>>>
>>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
>>> <[hidden email]> wrote:
>>>
>>>> recently had an application running slowly and had to manually add an
>>>> index.  but openjpa seemed to create all the other indexes
>> automatically.
>>>> my structure was like
>>>> Bill
>>>> has a collection of
>>>> BillMoney
>>>> has a collection of
>>>> BillSection
>>>> has a collection of
>>>> BillEntry
>>>>
>>>> BillMoney was automatically created with index I_BLLMONY_BILL which
>>>> related to the Bill id
>>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
>>>> which related to the BillMoney section
>>>> But BillEntry did not have an index.
>>>>
>>>> BillEntry was a pre existing table so could that have something to do
>>>> with it?  is there any way to force indexes to be created?
>>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
Unfortunately I was unable to find where this magic happens :(
can someone from devs can point me to the right direction?

On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
<[hidden email]> wrote:

> i am using mysql
>
> On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > Indicies seems to be auto-created on
> > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> >
> > just have tested with MySql DB Index seems not being created
> > will try to debug
> >
> >
> > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > <[hidden email]> wrote:
> >
> >> i saw a similar example but was hoping the index could be automatically
> >> created.  some indexes are automatically created but seeingly not
> others.
> >> i tried the annotations as in the example and the index is never
> >> created.  here is what i have added to my class
> >> @Entity
> >> @Table(name = "billentry", indexes = {
> >>           @Index(name = "I_BLLNTRY_SECTION", columnList =
> >> "BILLSECTION_ID", unique = false),
> >>           @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> >> "btentryid", unique = false) })
> >> public class BillEntry implements Serializable {
> >>       private static final long serialVersionUID = 1L;
> >>
> >>       @Id
> >>       @GeneratedValue(strategy = GenerationType.IDENTITY)
> >>       private Long id;
> >>
> >>       @Version
> >>       private Long version;
> >>
> >>       @ManyToOne
> >>       private BillSection billSection;
> >>
> >>       @ManyToOne
> >>       @Column(name = "btentryid")
> >>       private BillTemplateEntry billTemplateEntry;
> >>
> >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> >>> This might help for the latest OpenJpa (it should have partial 2.1
> >>> compatibility)
> >>> https://stackoverflow.com/a/22658951/3571661
> >>>
> >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> >>> <[hidden email]> wrote:
> >>>
> >>>> recently had an application running slowly and had to manually add an
> >>>> index.  but openjpa seemed to create all the other indexes
> >> automatically.
> >>>> my structure was like
> >>>> Bill
> >>>> has a collection of
> >>>> BillMoney
> >>>> has a collection of
> >>>> BillSection
> >>>> has a collection of
> >>>> BillEntry
> >>>>
> >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> >>>> related to the Bill id
> >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> >>>> which related to the BillMoney section
> >>>> But BillEntry did not have an index.
> >>>>
> >>>> BillEntry was a pre existing table so could that have something to do
> >>>> with it?  is there any way to force indexes to be created?
> >>>>
> >>
>
>

--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Mark Struberg-3
 The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
LieGrue,strub

    On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:  
 
 Unfortunately I was unable to find where this magic happens :(
can someone from devs can point me to the right direction?

On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
<[hidden email]> wrote:

> i am using mysql
>
> On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > Indicies seems to be auto-created on
> > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> >
> > just have tested with MySql DB Index seems not being created
> > will try to debug
> >
> >
> > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > <[hidden email]> wrote:
> >
> >> i saw a similar example but was hoping the index could be automatically
> >> created.  some indexes are automatically created but seeingly not
> others.
> >> i tried the annotations as in the example and the index is never
> >> created.  here is what i have added to my class
> >> @Entity
> >> @Table(name = "billentry", indexes = {
> >>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> >> "BILLSECTION_ID", unique = false),
> >>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> >> "btentryid", unique = false) })
> >> public class BillEntry implements Serializable {
> >>      private static final long serialVersionUID = 1L;
> >>
> >>      @Id
> >>      @GeneratedValue(strategy = GenerationType.IDENTITY)
> >>      private Long id;
> >>
> >>      @Version
> >>      private Long version;
> >>
> >>      @ManyToOne
> >>      private BillSection billSection;
> >>
> >>      @ManyToOne
> >>      @Column(name = "btentryid")
> >>      private BillTemplateEntry billTemplateEntry;
> >>
> >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> >>> This might help for the latest OpenJpa (it should have partial 2.1
> >>> compatibility)
> >>> https://stackoverflow.com/a/22658951/3571661
> >>>
> >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> >>> <[hidden email]> wrote:
> >>>
> >>>> recently had an application running slowly and had to manually add an
> >>>> index.  but openjpa seemed to create all the other indexes
> >> automatically.
> >>>> my structure was like
> >>>> Bill
> >>>> has a collection of
> >>>> BillMoney
> >>>> has a collection of
> >>>> BillSection
> >>>> has a collection of
> >>>> BillEntry
> >>>>
> >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> >>>> related to the Bill id
> >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> >>>> which related to the BillMoney section
> >>>> But BillEntry did not have an index.
> >>>>
> >>>> BillEntry was a pre existing table so could that have something to do
> >>>> with it?  is there any way to force indexes to be created?
> >>>>
> >>
>
>

--
WBR
Maxim aka solomax
 
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
Hello All,

I'm still debugging the code trying to understand what is going on in the code
It seems indices are being created for foreign keys only

Can it be caused by the fact OpenJPA still has it's own annotation for
indices org.apache.openjpa.persistence.jdbc.Index ?

Will try to debug also `DBDictionary#getCreateIndexSQL`

On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:

>
>  The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> LieGrue,strub
>
>     On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
>
>  Unfortunately I was unable to find where this magic happens :(
> can someone from devs can point me to the right direction?
>
> On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> <[hidden email]> wrote:
>
> > i am using mysql
> >
> > On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > > Indicies seems to be auto-created on
> > > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> > >
> > > just have tested with MySql DB Index seems not being created
> > > will try to debug
> > >
> > >
> > > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > > <[hidden email]> wrote:
> > >
> > >> i saw a similar example but was hoping the index could be automatically
> > >> created.  some indexes are automatically created but seeingly not
> > others.
> > >> i tried the annotations as in the example and the index is never
> > >> created.  here is what i have added to my class
> > >> @Entity
> > >> @Table(name = "billentry", indexes = {
> > >>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> > >> "BILLSECTION_ID", unique = false),
> > >>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> > >> "btentryid", unique = false) })
> > >> public class BillEntry implements Serializable {
> > >>      private static final long serialVersionUID = 1L;
> > >>
> > >>      @Id
> > >>      @GeneratedValue(strategy = GenerationType.IDENTITY)
> > >>      private Long id;
> > >>
> > >>      @Version
> > >>      private Long version;
> > >>
> > >>      @ManyToOne
> > >>      private BillSection billSection;
> > >>
> > >>      @ManyToOne
> > >>      @Column(name = "btentryid")
> > >>      private BillTemplateEntry billTemplateEntry;
> > >>
> > >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > >>> This might help for the latest OpenJpa (it should have partial 2.1
> > >>> compatibility)
> > >>> https://stackoverflow.com/a/22658951/3571661
> > >>>
> > >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > >>> <[hidden email]> wrote:
> > >>>
> > >>>> recently had an application running slowly and had to manually add an
> > >>>> index.  but openjpa seemed to create all the other indexes
> > >> automatically.
> > >>>> my structure was like
> > >>>> Bill
> > >>>> has a collection of
> > >>>> BillMoney
> > >>>> has a collection of
> > >>>> BillSection
> > >>>> has a collection of
> > >>>> BillEntry
> > >>>>
> > >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> > >>>> related to the Bill id
> > >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> > >>>> which related to the BillMoney section
> > >>>> But BillEntry did not have an index.
> > >>>>
> > >>>> BillEntry was a pre existing table so could that have something to do
> > >>>> with it?  is there any way to force indexes to be created?
> > >>>>
> > >>
> >
> >
>
> --
> WBR
> Maxim aka solomax
>



--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
Additional suspicious annotations are:

org.apache.openjpa.persistence.jdbc.Unique  ( vs.
javax.persistence.UniqueConstraint)
org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
javax.persistence.ForeignKey)

maybe some more
Maybe it worth to be dropped and replaced with annotations from
javax.persistence.* ?

On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:

>
> Hello All,
>
> I'm still debugging the code trying to understand what is going on in the code
> It seems indices are being created for foreign keys only
>
> Can it be caused by the fact OpenJPA still has it's own annotation for
> indices org.apache.openjpa.persistence.jdbc.Index ?
>
> Will try to debug also `DBDictionary#getCreateIndexSQL`
>
> On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
> >
> >  The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> > LieGrue,strub
> >
> >     On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
> >
> >  Unfortunately I was unable to find where this magic happens :(
> > can someone from devs can point me to the right direction?
> >
> > On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> > <[hidden email]> wrote:
> >
> > > i am using mysql
> > >
> > > On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > > > Indicies seems to be auto-created on
> > > > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> > > >
> > > > just have tested with MySql DB Index seems not being created
> > > > will try to debug
> > > >
> > > >
> > > > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > > > <[hidden email]> wrote:
> > > >
> > > >> i saw a similar example but was hoping the index could be automatically
> > > >> created.  some indexes are automatically created but seeingly not
> > > others.
> > > >> i tried the annotations as in the example and the index is never
> > > >> created.  here is what i have added to my class
> > > >> @Entity
> > > >> @Table(name = "billentry", indexes = {
> > > >>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> > > >> "BILLSECTION_ID", unique = false),
> > > >>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> > > >> "btentryid", unique = false) })
> > > >> public class BillEntry implements Serializable {
> > > >>      private static final long serialVersionUID = 1L;
> > > >>
> > > >>      @Id
> > > >>      @GeneratedValue(strategy = GenerationType.IDENTITY)
> > > >>      private Long id;
> > > >>
> > > >>      @Version
> > > >>      private Long version;
> > > >>
> > > >>      @ManyToOne
> > > >>      private BillSection billSection;
> > > >>
> > > >>      @ManyToOne
> > > >>      @Column(name = "btentryid")
> > > >>      private BillTemplateEntry billTemplateEntry;
> > > >>
> > > >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > > >>> This might help for the latest OpenJpa (it should have partial 2.1
> > > >>> compatibility)
> > > >>> https://stackoverflow.com/a/22658951/3571661
> > > >>>
> > > >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > > >>> <[hidden email]> wrote:
> > > >>>
> > > >>>> recently had an application running slowly and had to manually add an
> > > >>>> index.  but openjpa seemed to create all the other indexes
> > > >> automatically.
> > > >>>> my structure was like
> > > >>>> Bill
> > > >>>> has a collection of
> > > >>>> BillMoney
> > > >>>> has a collection of
> > > >>>> BillSection
> > > >>>> has a collection of
> > > >>>> BillEntry
> > > >>>>
> > > >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> > > >>>> related to the Bill id
> > > >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> > > >>>> which related to the BillMoney section
> > > >>>> But BillEntry did not have an index.
> > > >>>>
> > > >>>> BillEntry was a pre existing table so could that have something to do
> > > >>>> with it?  is there any way to force indexes to be created?
> > > >>>>
> > > >>
> > >
> > >
> >
> > --
> > WBR
> > Maxim aka solomax
> >
>
>
>
> --
> WBR
> Maxim aka solomax



--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
I have started work on this

Could you please take a look? Is it the step in right direction?
https://github.com/apache/openjpa/compare/javax-index?expand=1

On Mon, 25 Feb 2019 at 22:26, Maxim Solodovnik <[hidden email]> wrote:

>
> Additional suspicious annotations are:
>
> org.apache.openjpa.persistence.jdbc.Unique  ( vs.
> javax.persistence.UniqueConstraint)
> org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
> javax.persistence.ForeignKey)
>
> maybe some more
> Maybe it worth to be dropped and replaced with annotations from
> javax.persistence.* ?
>
> On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:
> >
> > Hello All,
> >
> > I'm still debugging the code trying to understand what is going on in the code
> > It seems indices are being created for foreign keys only
> >
> > Can it be caused by the fact OpenJPA still has it's own annotation for
> > indices org.apache.openjpa.persistence.jdbc.Index ?
> >
> > Will try to debug also `DBDictionary#getCreateIndexSQL`
> >
> > On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
> > >
> > >  The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> > > LieGrue,strub
> > >
> > >     On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
> > >
> > >  Unfortunately I was unable to find where this magic happens :(
> > > can someone from devs can point me to the right direction?
> > >
> > > On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> > > <[hidden email]> wrote:
> > >
> > > > i am using mysql
> > > >
> > > > On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > > > > Indicies seems to be auto-created on
> > > > > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> > > > >
> > > > > just have tested with MySql DB Index seems not being created
> > > > > will try to debug
> > > > >
> > > > >
> > > > > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > > > > <[hidden email]> wrote:
> > > > >
> > > > >> i saw a similar example but was hoping the index could be automatically
> > > > >> created.  some indexes are automatically created but seeingly not
> > > > others.
> > > > >> i tried the annotations as in the example and the index is never
> > > > >> created.  here is what i have added to my class
> > > > >> @Entity
> > > > >> @Table(name = "billentry", indexes = {
> > > > >>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> > > > >> "BILLSECTION_ID", unique = false),
> > > > >>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> > > > >> "btentryid", unique = false) })
> > > > >> public class BillEntry implements Serializable {
> > > > >>      private static final long serialVersionUID = 1L;
> > > > >>
> > > > >>      @Id
> > > > >>      @GeneratedValue(strategy = GenerationType.IDENTITY)
> > > > >>      private Long id;
> > > > >>
> > > > >>      @Version
> > > > >>      private Long version;
> > > > >>
> > > > >>      @ManyToOne
> > > > >>      private BillSection billSection;
> > > > >>
> > > > >>      @ManyToOne
> > > > >>      @Column(name = "btentryid")
> > > > >>      private BillTemplateEntry billTemplateEntry;
> > > > >>
> > > > >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > > > >>> This might help for the latest OpenJpa (it should have partial 2.1
> > > > >>> compatibility)
> > > > >>> https://stackoverflow.com/a/22658951/3571661
> > > > >>>
> > > > >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > > > >>> <[hidden email]> wrote:
> > > > >>>
> > > > >>>> recently had an application running slowly and had to manually add an
> > > > >>>> index.  but openjpa seemed to create all the other indexes
> > > > >> automatically.
> > > > >>>> my structure was like
> > > > >>>> Bill
> > > > >>>> has a collection of
> > > > >>>> BillMoney
> > > > >>>> has a collection of
> > > > >>>> BillSection
> > > > >>>> has a collection of
> > > > >>>> BillEntry
> > > > >>>>
> > > > >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> > > > >>>> related to the Bill id
> > > > >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> > > > >>>> which related to the BillMoney section
> > > > >>>> But BillEntry did not have an index.
> > > > >>>>
> > > > >>>> BillEntry was a pre existing table so could that have something to do
> > > > >>>> with it?  is there any way to force indexes to be created?
> > > > >>>>
> > > > >>
> > > >
> > > >
> > >
> > > --
> > > WBR
> > > Maxim aka solomax
> > >
> >
> >
> >
> > --
> > WBR
> > Maxim aka solomax
>
>
>
> --
> WBR
> Maxim aka solomax



--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
I have created JIRA to track the status:
https://issues.apache.org/jira/browse/OPENJPA-2777
Will try to add some tests and will ask for review/verification :)

On Tue, 26 Feb 2019 at 09:15, Maxim Solodovnik <[hidden email]> wrote:

>
> I have started work on this
>
> Could you please take a look? Is it the step in right direction?
> https://github.com/apache/openjpa/compare/javax-index?expand=1
>
> On Mon, 25 Feb 2019 at 22:26, Maxim Solodovnik <[hidden email]> wrote:
> >
> > Additional suspicious annotations are:
> >
> > org.apache.openjpa.persistence.jdbc.Unique  ( vs.
> > javax.persistence.UniqueConstraint)
> > org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
> > javax.persistence.ForeignKey)
> >
> > maybe some more
> > Maybe it worth to be dropped and replaced with annotations from
> > javax.persistence.* ?
> >
> > On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:
> > >
> > > Hello All,
> > >
> > > I'm still debugging the code trying to understand what is going on in the code
> > > It seems indices are being created for foreign keys only
> > >
> > > Can it be caused by the fact OpenJPA still has it's own annotation for
> > > indices org.apache.openjpa.persistence.jdbc.Index ?
> > >
> > > Will try to debug also `DBDictionary#getCreateIndexSQL`
> > >
> > > On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
> > > >
> > > >  The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> > > > LieGrue,strub
> > > >
> > > >     On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
> > > >
> > > >  Unfortunately I was unable to find where this magic happens :(
> > > > can someone from devs can point me to the right direction?
> > > >
> > > > On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> > > > <[hidden email]> wrote:
> > > >
> > > > > i am using mysql
> > > > >
> > > > > On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > > > > > Indicies seems to be auto-created on
> > > > > > @Id, @PrimaryKeyJoinColumn and @JoinColumn
> > > > > >
> > > > > > just have tested with MySql DB Index seems not being created
> > > > > > will try to debug
> > > > > >
> > > > > >
> > > > > > On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > > > > > <[hidden email]> wrote:
> > > > > >
> > > > > >> i saw a similar example but was hoping the index could be automatically
> > > > > >> created.  some indexes are automatically created but seeingly not
> > > > > others.
> > > > > >> i tried the annotations as in the example and the index is never
> > > > > >> created.  here is what i have added to my class
> > > > > >> @Entity
> > > > > >> @Table(name = "billentry", indexes = {
> > > > > >>          @Index(name = "I_BLLNTRY_SECTION", columnList =
> > > > > >> "BILLSECTION_ID", unique = false),
> > > > > >>          @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> > > > > >> "btentryid", unique = false) })
> > > > > >> public class BillEntry implements Serializable {
> > > > > >>      private static final long serialVersionUID = 1L;
> > > > > >>
> > > > > >>      @Id
> > > > > >>      @GeneratedValue(strategy = GenerationType.IDENTITY)
> > > > > >>      private Long id;
> > > > > >>
> > > > > >>      @Version
> > > > > >>      private Long version;
> > > > > >>
> > > > > >>      @ManyToOne
> > > > > >>      private BillSection billSection;
> > > > > >>
> > > > > >>      @ManyToOne
> > > > > >>      @Column(name = "btentryid")
> > > > > >>      private BillTemplateEntry billTemplateEntry;
> > > > > >>
> > > > > >> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > > > > >>> This might help for the latest OpenJpa (it should have partial 2.1
> > > > > >>> compatibility)
> > > > > >>> https://stackoverflow.com/a/22658951/3571661
> > > > > >>>
> > > > > >>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > > > > >>> <[hidden email]> wrote:
> > > > > >>>
> > > > > >>>> recently had an application running slowly and had to manually add an
> > > > > >>>> index.  but openjpa seemed to create all the other indexes
> > > > > >> automatically.
> > > > > >>>> my structure was like
> > > > > >>>> Bill
> > > > > >>>> has a collection of
> > > > > >>>> BillMoney
> > > > > >>>> has a collection of
> > > > > >>>> BillSection
> > > > > >>>> has a collection of
> > > > > >>>> BillEntry
> > > > > >>>>
> > > > > >>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> > > > > >>>> related to the Bill id
> > > > > >>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> > > > > >>>> which related to the BillMoney section
> > > > > >>>> But BillEntry did not have an index.
> > > > > >>>>
> > > > > >>>> BillEntry was a pre existing table so could that have something to do
> > > > > >>>> with it?  is there any way to force indexes to be created?
> > > > > >>>>
> > > > > >>
> > > > >
> > > > >
> > > >
> > > > --
> > > > WBR
> > > > Maxim aka solomax
> > > >
> > >
> > >
> > >
> > > --
> > > WBR
> > > Maxim aka solomax
> >
> >
> >
> > --
> > WBR
> > Maxim aka solomax
>
>
>
> --
> WBR
> Maxim aka solomax



--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Matthew Broadhead-2
Thanks,  I am glad you are looking into the issue.  I don't really know
much about the internals of OpenJpa. The code you created looks sensible

On 01/03/2019 11:41, Maxim Solodovnik wrote:

> I have created JIRA to track the status:
> https://issues.apache.org/jira/browse/OPENJPA-2777
> Will try to add some tests and will ask for review/verification :)
>
> On Tue, 26 Feb 2019 at 09:15, Maxim Solodovnik <[hidden email]> wrote:
>> I have started work on this
>>
>> Could you please take a look? Is it the step in right direction?
>> https://github.com/apache/openjpa/compare/javax-index?expand=1
>>
>> On Mon, 25 Feb 2019 at 22:26, Maxim Solodovnik <[hidden email]> wrote:
>>> Additional suspicious annotations are:
>>>
>>> org.apache.openjpa.persistence.jdbc.Unique  ( vs.
>>> javax.persistence.UniqueConstraint)
>>> org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
>>> javax.persistence.ForeignKey)
>>>
>>> maybe some more
>>> Maybe it worth to be dropped and replaced with annotations from
>>> javax.persistence.* ?
>>>
>>> On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:
>>>> Hello All,
>>>>
>>>> I'm still debugging the code trying to understand what is going on in the code
>>>> It seems indices are being created for foreign keys only
>>>>
>>>> Can it be caused by the fact OpenJPA still has it's own annotation for
>>>> indices org.apache.openjpa.persistence.jdbc.Index ?
>>>>
>>>> Will try to debug also `DBDictionary#getCreateIndexSQL`
>>>>
>>>> On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
>>>>>   The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
>>>>> LieGrue,strub
>>>>>
>>>>>      On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
>>>>>
>>>>>   Unfortunately I was unable to find where this magic happens :(
>>>>> can someone from devs can point me to the right direction?
>>>>>
>>>>> On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
>>>>> <[hidden email]> wrote:
>>>>>
>>>>>> i am using mysql
>>>>>>
>>>>>> On 15/12/2018 09:35, Maxim Solodovnik wrote:
>>>>>>> Indicies seems to be auto-created on
>>>>>>> @Id, @PrimaryKeyJoinColumn and @JoinColumn
>>>>>>>
>>>>>>> just have tested with MySql DB Index seems not being created
>>>>>>> will try to debug
>>>>>>>
>>>>>>>
>>>>>>> On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
>>>>>>> <[hidden email]> wrote:
>>>>>>>
>>>>>>>> i saw a similar example but was hoping the index could be automatically
>>>>>>>> created.  some indexes are automatically created but seeingly not
>>>>>> others.
>>>>>>>> i tried the annotations as in the example and the index is never
>>>>>>>> created.  here is what i have added to my class
>>>>>>>> @Entity
>>>>>>>> @Table(name = "billentry", indexes = {
>>>>>>>>           @Index(name = "I_BLLNTRY_SECTION", columnList =
>>>>>>>> "BILLSECTION_ID", unique = false),
>>>>>>>>           @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
>>>>>>>> "btentryid", unique = false) })
>>>>>>>> public class BillEntry implements Serializable {
>>>>>>>>       private static final long serialVersionUID = 1L;
>>>>>>>>
>>>>>>>>       @Id
>>>>>>>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
>>>>>>>>       private Long id;
>>>>>>>>
>>>>>>>>       @Version
>>>>>>>>       private Long version;
>>>>>>>>
>>>>>>>>       @ManyToOne
>>>>>>>>       private BillSection billSection;
>>>>>>>>
>>>>>>>>       @ManyToOne
>>>>>>>>       @Column(name = "btentryid")
>>>>>>>>       private BillTemplateEntry billTemplateEntry;
>>>>>>>>
>>>>>>>> On 12/12/2018 02:34, Maxim Solodovnik wrote:
>>>>>>>>> This might help for the latest OpenJpa (it should have partial 2.1
>>>>>>>>> compatibility)
>>>>>>>>> https://stackoverflow.com/a/22658951/3571661
>>>>>>>>>
>>>>>>>>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
>>>>>>>>> <[hidden email]> wrote:
>>>>>>>>>
>>>>>>>>>> recently had an application running slowly and had to manually add an
>>>>>>>>>> index.  but openjpa seemed to create all the other indexes
>>>>>>>> automatically.
>>>>>>>>>> my structure was like
>>>>>>>>>> Bill
>>>>>>>>>> has a collection of
>>>>>>>>>> BillMoney
>>>>>>>>>> has a collection of
>>>>>>>>>> BillSection
>>>>>>>>>> has a collection of
>>>>>>>>>> BillEntry
>>>>>>>>>>
>>>>>>>>>> BillMoney was automatically created with index I_BLLMONY_BILL which
>>>>>>>>>> related to the Bill id
>>>>>>>>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
>>>>>>>>>> which related to the BillMoney section
>>>>>>>>>> But BillEntry did not have an index.
>>>>>>>>>>
>>>>>>>>>> BillEntry was a pre existing table so could that have something to do
>>>>>>>>>> with it?  is there any way to force indexes to be created?
>>>>>>>>>>
>>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>> --
>>>> WBR
>>>> Maxim aka solomax
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>
>

Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
Thanks Matthew,
Maybe you can build openjpa from branch 'javax-index' locally
and check if the fix works for you as expected?

On Sat, 2 Mar 2019 at 19:33, Matthew Broadhead
<[hidden email]> wrote:

>
> Thanks,  I am glad you are looking into the issue.  I don't really know
> much about the internals of OpenJpa. The code you created looks sensible
>
> On 01/03/2019 11:41, Maxim Solodovnik wrote:
> > I have created JIRA to track the status:
> > https://issues.apache.org/jira/browse/OPENJPA-2777
> > Will try to add some tests and will ask for review/verification :)
> >
> > On Tue, 26 Feb 2019 at 09:15, Maxim Solodovnik <[hidden email]> wrote:
> >> I have started work on this
> >>
> >> Could you please take a look? Is it the step in right direction?
> >> https://github.com/apache/openjpa/compare/javax-index?expand=1
> >>
> >> On Mon, 25 Feb 2019 at 22:26, Maxim Solodovnik <[hidden email]> wrote:
> >>> Additional suspicious annotations are:
> >>>
> >>> org.apache.openjpa.persistence.jdbc.Unique  ( vs.
> >>> javax.persistence.UniqueConstraint)
> >>> org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
> >>> javax.persistence.ForeignKey)
> >>>
> >>> maybe some more
> >>> Maybe it worth to be dropped and replaced with annotations from
> >>> javax.persistence.* ?
> >>>
> >>> On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:
> >>>> Hello All,
> >>>>
> >>>> I'm still debugging the code trying to understand what is going on in the code
> >>>> It seems indices are being created for foreign keys only
> >>>>
> >>>> Can it be caused by the fact OpenJPA still has it's own annotation for
> >>>> indices org.apache.openjpa.persistence.jdbc.Index ?
> >>>>
> >>>> Will try to debug also `DBDictionary#getCreateIndexSQL`
> >>>>
> >>>> On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
> >>>>>   The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> >>>>> LieGrue,strub
> >>>>>
> >>>>>      On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
> >>>>>
> >>>>>   Unfortunately I was unable to find where this magic happens :(
> >>>>> can someone from devs can point me to the right direction?
> >>>>>
> >>>>> On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> >>>>> <[hidden email]> wrote:
> >>>>>
> >>>>>> i am using mysql
> >>>>>>
> >>>>>> On 15/12/2018 09:35, Maxim Solodovnik wrote:
> >>>>>>> Indicies seems to be auto-created on
> >>>>>>> @Id, @PrimaryKeyJoinColumn and @JoinColumn
> >>>>>>>
> >>>>>>> just have tested with MySql DB Index seems not being created
> >>>>>>> will try to debug
> >>>>>>>
> >>>>>>>
> >>>>>>> On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> >>>>>>> <[hidden email]> wrote:
> >>>>>>>
> >>>>>>>> i saw a similar example but was hoping the index could be automatically
> >>>>>>>> created.  some indexes are automatically created but seeingly not
> >>>>>> others.
> >>>>>>>> i tried the annotations as in the example and the index is never
> >>>>>>>> created.  here is what i have added to my class
> >>>>>>>> @Entity
> >>>>>>>> @Table(name = "billentry", indexes = {
> >>>>>>>>           @Index(name = "I_BLLNTRY_SECTION", columnList =
> >>>>>>>> "BILLSECTION_ID", unique = false),
> >>>>>>>>           @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> >>>>>>>> "btentryid", unique = false) })
> >>>>>>>> public class BillEntry implements Serializable {
> >>>>>>>>       private static final long serialVersionUID = 1L;
> >>>>>>>>
> >>>>>>>>       @Id
> >>>>>>>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
> >>>>>>>>       private Long id;
> >>>>>>>>
> >>>>>>>>       @Version
> >>>>>>>>       private Long version;
> >>>>>>>>
> >>>>>>>>       @ManyToOne
> >>>>>>>>       private BillSection billSection;
> >>>>>>>>
> >>>>>>>>       @ManyToOne
> >>>>>>>>       @Column(name = "btentryid")
> >>>>>>>>       private BillTemplateEntry billTemplateEntry;
> >>>>>>>>
> >>>>>>>> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> >>>>>>>>> This might help for the latest OpenJpa (it should have partial 2.1
> >>>>>>>>> compatibility)
> >>>>>>>>> https://stackoverflow.com/a/22658951/3571661
> >>>>>>>>>
> >>>>>>>>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> >>>>>>>>> <[hidden email]> wrote:
> >>>>>>>>>
> >>>>>>>>>> recently had an application running slowly and had to manually add an
> >>>>>>>>>> index.  but openjpa seemed to create all the other indexes
> >>>>>>>> automatically.
> >>>>>>>>>> my structure was like
> >>>>>>>>>> Bill
> >>>>>>>>>> has a collection of
> >>>>>>>>>> BillMoney
> >>>>>>>>>> has a collection of
> >>>>>>>>>> BillSection
> >>>>>>>>>> has a collection of
> >>>>>>>>>> BillEntry
> >>>>>>>>>>
> >>>>>>>>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> >>>>>>>>>> related to the Bill id
> >>>>>>>>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> >>>>>>>>>> which related to the BillMoney section
> >>>>>>>>>> But BillEntry did not have an index.
> >>>>>>>>>>
> >>>>>>>>>> BillEntry was a pre existing table so could that have something to do
> >>>>>>>>>> with it?  is there any way to force indexes to be created?
> >>>>>>>>>>
> >>>>>>
> >>>>> --
> >>>>> WBR
> >>>>> Maxim aka solomax
> >>>>>
> >>>>
> >>>>
> >>>> --
> >>>> WBR
> >>>> Maxim aka solomax
> >>>
> >>>
> >>> --
> >>> WBR
> >>> Maxim aka solomax
> >>
> >>
> >> --
> >> WBR
> >> Maxim aka solomax
> >
> >
>


--
WBR
Maxim aka solomax
Reply | Threaded
Open this post in threaded view
|

Re: openjpa indexes

Maxim Solodovnik
@Devs,

could you please take a look at my PR: https://github.com/apache/openjpa/pull/39

On Sat, 2 Mar 2019 at 20:05, Maxim Solodovnik <[hidden email]> wrote:

>
> Thanks Matthew,
> Maybe you can build openjpa from branch 'javax-index' locally
> and check if the fix works for you as expected?
>
> On Sat, 2 Mar 2019 at 19:33, Matthew Broadhead
> <[hidden email]> wrote:
> >
> > Thanks,  I am glad you are looking into the issue.  I don't really know
> > much about the internals of OpenJpa. The code you created looks sensible
> >
> > On 01/03/2019 11:41, Maxim Solodovnik wrote:
> > > I have created JIRA to track the status:
> > > https://issues.apache.org/jira/browse/OPENJPA-2777
> > > Will try to add some tests and will ask for review/verification :)
> > >
> > > On Tue, 26 Feb 2019 at 09:15, Maxim Solodovnik <[hidden email]> wrote:
> > >> I have started work on this
> > >>
> > >> Could you please take a look? Is it the step in right direction?
> > >> https://github.com/apache/openjpa/compare/javax-index?expand=1
> > >>
> > >> On Mon, 25 Feb 2019 at 22:26, Maxim Solodovnik <[hidden email]> wrote:
> > >>> Additional suspicious annotations are:
> > >>>
> > >>> org.apache.openjpa.persistence.jdbc.Unique  ( vs.
> > >>> javax.persistence.UniqueConstraint)
> > >>> org.apache.openjpa.persistence.jdbc.ForeignKey ( vs.
> > >>> javax.persistence.ForeignKey)
> > >>>
> > >>> maybe some more
> > >>> Maybe it worth to be dropped and replaced with annotations from
> > >>> javax.persistence.* ?
> > >>>
> > >>> On Mon, 25 Feb 2019 at 22:10, Maxim Solodovnik <[hidden email]> wrote:
> > >>>> Hello All,
> > >>>>
> > >>>> I'm still debugging the code trying to understand what is going on in the code
> > >>>> It seems indices are being created for foreign keys only
> > >>>>
> > >>>> Can it be caused by the fact OpenJPA still has it's own annotation for
> > >>>> indices org.apache.openjpa.persistence.jdbc.Index ?
> > >>>>
> > >>>> Will try to debug also `DBDictionary#getCreateIndexSQL`
> > >>>>
> > >>>> On Thu, 3 Jan 2019 at 02:12, Mark Struberg <[hidden email]> wrote:
> > >>>>>   The generator happens in the MappingTool. This is the top-level.Probably the best guess is to set a breakpoint in  DBDictionary#getCreateIndexSQLThe DBDictionary (and it's respecive subclasses) is where all the adopting to different databases happens.
> > >>>>> LieGrue,strub
> > >>>>>
> > >>>>>      On Tuesday, 18 December 2018, 03:53:51 CET, Maxim Solodovnik <[hidden email]> wrote:
> > >>>>>
> > >>>>>   Unfortunately I was unable to find where this magic happens :(
> > >>>>> can someone from devs can point me to the right direction?
> > >>>>>
> > >>>>> On Sat, 15 Dec 2018 at 16:58, Matthew Broadhead
> > >>>>> <[hidden email]> wrote:
> > >>>>>
> > >>>>>> i am using mysql
> > >>>>>>
> > >>>>>> On 15/12/2018 09:35, Maxim Solodovnik wrote:
> > >>>>>>> Indicies seems to be auto-created on
> > >>>>>>> @Id, @PrimaryKeyJoinColumn and @JoinColumn
> > >>>>>>>
> > >>>>>>> just have tested with MySql DB Index seems not being created
> > >>>>>>> will try to debug
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> On Thu, 13 Dec 2018 at 23:33, Matthew Broadhead
> > >>>>>>> <[hidden email]> wrote:
> > >>>>>>>
> > >>>>>>>> i saw a similar example but was hoping the index could be automatically
> > >>>>>>>> created.  some indexes are automatically created but seeingly not
> > >>>>>> others.
> > >>>>>>>> i tried the annotations as in the example and the index is never
> > >>>>>>>> created.  here is what i have added to my class
> > >>>>>>>> @Entity
> > >>>>>>>> @Table(name = "billentry", indexes = {
> > >>>>>>>>           @Index(name = "I_BLLNTRY_SECTION", columnList =
> > >>>>>>>> "BILLSECTION_ID", unique = false),
> > >>>>>>>>           @Index(name = "I_BLLNTRY_BILLTEMPLATEENTRY", columnList =
> > >>>>>>>> "btentryid", unique = false) })
> > >>>>>>>> public class BillEntry implements Serializable {
> > >>>>>>>>       private static final long serialVersionUID = 1L;
> > >>>>>>>>
> > >>>>>>>>       @Id
> > >>>>>>>>       @GeneratedValue(strategy = GenerationType.IDENTITY)
> > >>>>>>>>       private Long id;
> > >>>>>>>>
> > >>>>>>>>       @Version
> > >>>>>>>>       private Long version;
> > >>>>>>>>
> > >>>>>>>>       @ManyToOne
> > >>>>>>>>       private BillSection billSection;
> > >>>>>>>>
> > >>>>>>>>       @ManyToOne
> > >>>>>>>>       @Column(name = "btentryid")
> > >>>>>>>>       private BillTemplateEntry billTemplateEntry;
> > >>>>>>>>
> > >>>>>>>> On 12/12/2018 02:34, Maxim Solodovnik wrote:
> > >>>>>>>>> This might help for the latest OpenJpa (it should have partial 2.1
> > >>>>>>>>> compatibility)
> > >>>>>>>>> https://stackoverflow.com/a/22658951/3571661
> > >>>>>>>>>
> > >>>>>>>>> On Wed, 12 Dec 2018 at 01:17, Matthew Broadhead
> > >>>>>>>>> <[hidden email]> wrote:
> > >>>>>>>>>
> > >>>>>>>>>> recently had an application running slowly and had to manually add an
> > >>>>>>>>>> index.  but openjpa seemed to create all the other indexes
> > >>>>>>>> automatically.
> > >>>>>>>>>> my structure was like
> > >>>>>>>>>> Bill
> > >>>>>>>>>> has a collection of
> > >>>>>>>>>> BillMoney
> > >>>>>>>>>> has a collection of
> > >>>>>>>>>> BillSection
> > >>>>>>>>>> has a collection of
> > >>>>>>>>>> BillEntry
> > >>>>>>>>>>
> > >>>>>>>>>> BillMoney was automatically created with index I_BLLMONY_BILL which
> > >>>>>>>>>> related to the Bill id
> > >>>>>>>>>> BillSection was automatically created with index I_BLLSCTN_BILLMONEY
> > >>>>>>>>>> which related to the BillMoney section
> > >>>>>>>>>> But BillEntry did not have an index.
> > >>>>>>>>>>
> > >>>>>>>>>> BillEntry was a pre existing table so could that have something to do
> > >>>>>>>>>> with it?  is there any way to force indexes to be created?
> > >>>>>>>>>>
> > >>>>>>
> > >>>>> --
> > >>>>> WBR
> > >>>>> Maxim aka solomax
> > >>>>>
> > >>>>
> > >>>>
> > >>>> --
> > >>>> WBR
> > >>>> Maxim aka solomax
> > >>>
> > >>>
> > >>> --
> > >>> WBR
> > >>> Maxim aka solomax
> > >>
> > >>
> > >> --
> > >> WBR
> > >> Maxim aka solomax
> > >
> > >
> >
>
>
> --
> WBR
> Maxim aka solomax



--
WBR
Maxim aka solomax