openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxim Solodovnik <solomax...@gmail.com>
Subject Re: openjpa indexes
Date Sat, 02 Mar 2019 13:05:41 GMT
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
<matthew.broadhead@nbmlaw.co.uk.invalid> 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 <solomax666@gmail.com> 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 <solomax666@gmail.com>
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 <solomax666@gmail.com>
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 <struberg@yahoo.de.invalid>
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
<solomax666@gmail.com> 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
> >>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> 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
> >>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> 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
> >>>>>>>>> <matthew.broadhead@nbmlaw.co.uk.invalid> 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

Mime
View raw message