[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2622?page=c...
]
Philippe Marchesseault commented on HHH-2622:
---------------------------------------------
Hello,
I am just starting out with hibernate but it seems very promising.. I have a table with
fields starting with the character '$', wich (in oracle a least) needs to be
inside quoted strings.
I did what David suggested, which got me a bit further but ended up with a quote error in
the from clause..
I temporarily fixed it by always putting the field names inside double quotes.
Hope this will get fixed in the next release!
Regards,
Philippe
Index:
core/src/main/java/org/hibernate/persister/entity/UnionSubclassEntityPersister.java
===================================================================
---
core/src/main/java/org/hibernate/persister/entity/UnionSubclassEntityPersister.java (revision
15808)
+++
core/src/main/java/org/hibernate/persister/entity/UnionSubclassEntityPersister.java (working
copy)
@@ -422,8 +422,9 @@
buf.append( dialect.getSelectClauseNullString(sqlType) )
.append(" as ");
}
+ buf.append('"');
buf.append( col.getName() );
- buf.append(", ");
+ buf.append("\", ");
}
buf.append( clazz.getSubclassId() )
.append(" as clazz_");
Fields quotes must be applied in queries to prevent mix reserved
words with fields names
----------------------------------------------------------------------------------------
Key: HHH-2622
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2622
Project: Hibernate Core
Issue Type: Bug
Components: query-sql
Affects Versions: 3.2.0 cr1
Environment: MySQL 4.1.16 Hibernate 3.2 cr1 Fedora Core 4
Reporter: Igor A Tarasov
Original Estimate: 1 hour
Remaining Estimate: 1 hour
Quotes must be appied to fields in queries.
The environment log is:
org.hibernate.cfg.Environment Hibernate 3.2 cr1
org.hibernate.cfg.SettingsFactory RDBMS: MySQL, version: 4.1.16
org.hibernate.cfg.SettingsFactory JDBC driver: MySQL-AB JDBC Driver, version:
mysql-connector-java-3.1.12
org.hibernate.dialect.Dialect Using dialect: org.hibernate.dialect.MySQLDialect
I have an entity, named Group:
@Entity
public class Group {
..
}
But, 'GROUP' is the reserved word of MySQL query language.
Log of hibernate show, that queries is without quotes:
org.hibernate.persister.entity.AbstractEntityPersister Static SQL for entity:
org.dicr.isp.entity.Group
org.hibernate.persister.entity.AbstractEntityPersister Version select: select id from
Group where id =?
org.hibernate.persister.entity.AbstractEntityPersister Snapshot select: select
group_.id, group_.name as name0_, group_.comment as comment0_ from Group group_ where
group_.id=?
org.hibernate.persister.entity.AbstractEntityPersister Insert 0: insert into Group
(name, comment, id) values (?, ?, ?)
org.hibernate.persister.entity.AbstractEntityPersister Update 0: update Group set
name=?, comment=? where id=?
org.hibernate.persister.entity.AbstractEntityPersister Delete 0: delete from Group where
id=?
org.hibernate.persister.entity.AbstractEntityPersister Identity insert: insert into
Group (name, comment) values (?, ?)
And this make a critical error in program logic:
org.hibernate.tool.hbm2ddl.DatabaseMetadata table not found: Group
ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate Unsuccessful: create table Group (id bigint
not null auto_increment, name varchar(255) not null unique, comment varchar(255), primary
key (id))
ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate You have an error in your SQL syntax; check
the manual that corresponds to your MySQL server version for the right syntax to use near
'Group (id bigint not null auto_increment, name varchar(255) not null unique, com'
at line 1
[2006-04-27 23:57:23,895] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate schema update
complete
The query: "create table Group (id bigint ..." is not correct.
Must be: "create table `Group` (`id` bigint ..."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira