[Hibernate-JIRA] Created: (HHH-2472) Error in HSQLDB Sequence Syntax
by Aaron Mulder (JIRA)
Error in HSQLDB Sequence Syntax
-------------------------------
Key: HHH-2472
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2472
Project: Hibernate3
Type: Bug
Components: core
Versions: 3.2.2
Reporter: Aaron Mulder
I am using Hibernate via JPA. My persistence.xml has this:
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.dialect"
value="org.hibernate.dialect.HSQLDialect"/>
</properties>
My Entity has this:
@SequenceGenerator(name = "GeneratePCSequence", sequenceName = "GEN_PC_SEQUENCE")
...
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GeneratePCSequence")
private int id;
My DDL has this:
create sequence GEN_PC_SEQUENCE start with 100000 increment by 1;
The result I get when creating a new entity of this type is this:
java.sql.SQLException: Table not found in statement [select next value for GEN_PC_SEQUENCE from dual_GEN_PC_SEQUENCE]
org.hsqldb.jdbc.Util.throwError(Unknown Source)
org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:185)
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:278)
org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:497)
org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:123)
org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:73)
org.hibernate.id.SequenceHiLoGenerator.generate(SequenceHiLoGenerator.java:58)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99)
org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:618)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:212)
The "from dual_GEN_PC_SEQUENCE" looks sketchy to me, but I'm not real sure.
--
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
17 years, 5 months
[Hibernate-JIRA] Created: (HBX-966) hbm2ddl is generating tables for classes annotated with @MappedSuperclass
by Ezra Epstein (JIRA)
hbm2ddl is generating tables for classes annotated with @MappedSuperclass
-------------------------------------------------------------------------
Key: HBX-966
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-966
Project: Hibernate Tools
Issue Type: Bug
Components: ant
Affects Versions: 3.2beta8
Environment: Hibernate 3.2
MySQL 5
Reporter: Ezra Epstein
I've a class annotated as:
@Entity
@MappedSuperclass
public abstract class BaseUuidKeyedEntity implements Serializable {
...
}
The relevant section of the EJB3 persistence spec reads, in part:
"9.1.36 MappedSuperclass Annotation
The MappedSuperclass annotation designates a class whose mapping information is applied to the
entities that inherit from it. A mapped superclass has no separate table defined for it.
A class designated with the MappedSuperclass annotation can be mapped in the same way as an
entity except that the mappings will apply only to its subclasses since no table exists for the mapped
superclass itself...."
So no Table should be associated with this class.
Yet the resultant DDL includes:
create table BaseUuidKeyedEntity (
uuid varchar(31) not null,
create_ts datetime,
update_ts datetime,
versionNum integer,
primary key (uuid)
);
--
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
17 years, 5 months
[Hibernate-JIRA] Commented: (HHH-1902) Alias Problem... Hibernate is replacing our alias at one place but not at another place
by Nate (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1902?page=c... ]
Nate commented on HHH-1902:
---------------------------
Any updates on this issue? This is preventing me from porting our app from TopLink 10G to Hibernate/JPA.
> Alias Problem... Hibernate is replacing our alias at one place but not at another place
> ---------------------------------------------------------------------------------------
>
> Key: HHH-1902
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1902
> Project: Hibernate3
> Issue Type: Bug
> Components: query-hql
> Affects Versions: 3.0.3, 3.2.1
> Environment: Hibernate 3.0.3
> Database Platform : MSSQL Server 2000
> Reporter: Paras Dhawan
> Attachments: testhibernate.rar
>
>
> I have a query which contains a sub query in the select list... I have defined an alias of the sub query as _sqry1 now I am putting an Order By clause in the query.... Order By is on the result of the sub query and I have given the alias of the sub query in the Order By clause
> My Query is which i am giving to Hibernate is
> SELECT (SELECT SUM(_0_ServiceCharge_0_service.chargeAmount) FROM Service AS _0_service , ServiceCharge AS _0_ServiceCharge_0_service WHERE _transportService_Challan = _0_service AND _0_service = _0_ServiceCharge_0_service.service) AS _sqry1 FROM Challan AS _Challan LEFT OUTER JOIN _Challan.transportService AS _transportService_Challan ORDER BY _sqry1
> Now the problem is that Hibernate is replacing my aliases.... it replaced my alias of the sub query from _sqry1 to col_0_0_ .... it replaced this alias in the select list but not in the Order By clause... i.e. it replaced the alias where I defined it but it did not replaced the alias where I used it.... so the place where I am using the alias it is giving an error as undefined alias
> The generated SQL by Hibernate:
> select (select SUM(servicecha3_.ChargeAmount) from Services service2_, ServiceCharges servicecha3_ where transports1_.TransportServiceId=service2_.ServiceId and service2_.ServiceId=servicecha3_.serviceGroupTablePKId) as col_0_0_ from Challans challan0_ left outer join TransportServices transports1_ on challan0_.TransportServiceId=transports1_.TransportServiceId left outer join Services transports1_1_ on transports1_.TransportServiceId=transports1_1_.ServiceId order by _sqry1
> when I manually replaced my alias in the Order By clause then my query run successfully
> Either Hibernate should not replace my alias, even if it is replacing then it must replace all the occurences
> I cannot use criteria, I cannot use named queries, i cannot use native sql because my queries are formed at run time, I have to specify a HQL only... This is bug in Hibernate
> Hibernate version: 3.0.5
> Name and version of the database that I am using:
> MS SQL Server 2000
> Full stack trace of any exception that occurs:
> Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not execute query
> at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
> at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> at org.hibernate.loader.Loader.doList(Loader.java:2148)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
> at org.hibernate.loader.Loader.list(Loader.java:2024)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
> at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
> at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
> at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
> at com.daffodilwoods.framework.utils.HibernateUtil.main(HibernateUtil.java:296)
> Caused by: java.sql.SQLException: [DataDirect][SQLServer JDBC Driver][SQLServer]Invalid column name '_sqry1'.
> at com.ddtek.jdbc.base.BaseExceptions.createException(Unknown Source)
> at com.ddtek.jdbc.base.BaseExceptions.getException(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRPCNonCursorExecuteRequest.submitPrepare(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRPCExecuteRequest.doPrepExec(Unknown Source)
> at com.ddtek.jdbc.sqlserver.tds.TDSRPCExecuteRequest.execute(Unknown Source)
> at com.ddtek.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
> at com.ddtek.jdbc.base.BaseStatement.commonExecute(Unknown Source)
> at com.ddtek.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
> at com.ddtek.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
> at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
> at org.hibernate.loader.Loader.doQuery(Loader.java:662)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
> at org.hibernate.loader.Loader.doList(Loader.java:2145)
> ... 8 more
--
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
17 years, 5 months