Dali attempts to handle case-sensitivity in a vendor specific way based
on the database information available. It is possible that there are
some holes in this support, specifically in the case of MySQL, due to
their varied treatment of case on different operating systems and
database objects.
MySQL folds database and table names to lowercase on Windows by
default, but this default can also be changed by the
lower_case_table_names variable. On Unix, database and table names
would be case sensitive by default since sensitivity is determined by
the underlying filesystem.
The following page explains MySQL treatment of case in greater detail,
which may be of help:
http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
It might be necessary for Dali to have a general "Ignore case" option
for database object resolution that can be set by the user to override
our vendor specific settings if we cannot reasonably support all of the
possibilities. In any case, I suggest that you enter a bug against
Dali for this case (1) and/or continue this discussion on the Dali
forums (2) for additional assistance.
(1) https://bugs.eclipse.org/bugs/enter_bug.cgi?classification=WebTools
(2) http://www.eclipse.org/forums/eclipse.technology.dali
Thanks,
Neil
Mathias Walter wrote:
Hi,
I had the same problem and found out that Dali is case sensitive for all
database objects (e. g. database name, table name and column names). In
contrast, MySQL is only case sensitive for database and table names, but not
for column names.
Is it possible to tell Dali that it should use the correct case sensitivity
depending on the underlying database vendor?
According to the MySQL docs: "Column, index, and stored routine names are
not case sensitive on any platform, nor are column aliases. Trigger names
are case sensitive, which differs from standard SQL."
--
Kind regards,
Mathias
-----Ursprüngliche Nachricht-----
Von: eclipselink-users-bounces@xxxxxxxxxxx [mailto:eclipselink-users-
bounces@xxxxxxxxxxx] Im Auftrag von RogerV
Gesendet: Donnerstag, 5. November 2009 16:46
An: eclipselink-users@xxxxxxxxxxx
Betreff: Re: [eclipselink-users] Minor Annoyance
Hi Shaun
Thanks for the response. Your suggestion was wrong about the connection
information but is correct in that there was a mismatch between
Eclipses'
view and Dalis' view of things and the issue is a discrepancy between
the
entity class names, the @Entity(name="") annotation, the
@Table(name="") and
the actual name of the database table. and it was all about which ones
started with an uppercase letter and which started with a lowercase
letter.
I'm using mySQL and for some reason insists on creating the tables with
a
lowercase first letter and I can't rename the tables through the admin
functions. Once I'd got everything matching .... although I'm surprised
that
anything worked at all given the name mismatch
Regards
Shaun Smith wrote:
Hi Roger,
What's happening is that Dali is using the database connection you
specified on your JPA project to validate your mappings against the
database schema. If you open the properties of the project and go to
Java Persistence you can change the connection to <None>. With no
connection Dali will not validate against the database and the error
you
see will go away.
However, what I think you should do is change the connection to
point
to the target database schema you're building for so that you can
benefit from Dali's validation. If you're getting validation errors
but it works at runtime then the Dali design time connection and the
runtime connection info in the persistence.xml must be different or
the
two databases must contain different schemas.
Shaun
RogerV wrote:
I'm using EclipseLink 1.1 within Eclipse Galileo IDE. Everything is
working
fine, however Eclipse insists in marking the sources containing my
entities
(@Entity) as being in error. The sources all show "Table <name>
cannot be
resolved" although as I said everything actually works at run time.
This means that every time I try to run anything, unit tests, save
to
subversion etc, the IDE prompts me with the "Project contains
errors"
dialog
and asks if I want to continue. Of course, these show as errors in
the
Problems view as well.
This is slowly driving me nuts. Does anyone know what's triggering
this
behaviour and how to stop it.
Regards
--
Oracle <http://www.oracle.com>
Shaun Smith | Principal Product Manager
Phone: +19055023094
Oracle Server Technologies, Oracle TopLink
ORACLE Canada | 110 Matheson Boulevard West, Suite 100, Mississauga,
Ontario | L5R 3P4
Green Oracle <http://www.oracle.com/commitment> Oracle is committed
to
developing practices and products that help protect the environment
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
--
View this message in context: http://old.nabble.com/Minor-Annoyance-
tp26208613p26215768.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.
_______________________________________________
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
|