[Hibernate-JIRA] Created: (HHH-5229) org.hibernate.test.hql.ScrollableCollectionFetchingTest.testScrollingJoinFetchesEmptyResultSet() fails on sybase
by Strong Liu (JIRA)
org.hibernate.test.hql.ScrollableCollectionFetchingTest.testScrollingJoinFetchesEmptyResultSet() fails on sybase
----------------------------------------------------------------------------------------------------------------
Key: HHH-5229
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5229
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.2, 3.5.1
Reporter: Strong Liu
Assignee: Strong Liu
Fix For: 3.5.x, 3.6
{quote}
Result set is IDLE as you are not currently accessing a row.
Description: The application has called one of the ResultSet.getXXX column-data retrieval methods, but there is no current row; the application has not called ResultSet.next(), or ResultSet.next() returned "false" to indicate that there is no data.
Action: Check that rs.next() is set to "true" before calling rs.getXXX.
{quote}
org.hibernate.exception.GenericJDBCException: could not perform sequential read of results (forward)
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.loadSequentialRowsForward(Loader.java:420)
at org.hibernate.impl.FetchingScrollableResultsImpl.next(FetchingScrollableResultsImpl.java:83)
at org.hibernate.test.hql.ScrollableCollectionFetchingTest.testScrollingJoinFetchesEmptyResultSet(ScrollableCollectionFetchingTest.java:67)
Caused by: java.sql.SQLException: JZ0R1: Result set is IDLE as you are not currently accessing a row.
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)
at com.sybase.jdbc3.jdbc.SybResultSet.checkIfReadableRow(Unknown Source)
at com.sybase.jdbc3.jdbc.SybResultSet.getColumn(Unknown Source)
at com.sybase.jdbc3.jdbc.SybResultSet.getLong(Unknown Source)
at com.sybase.jdbc3.jdbc.SybResultSet.getLong(Unknown Source)
at org.hibernate.type.LongType.get(LongType.java:51)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:1120)
at org.hibernate.loader.Loader.loadSequentialRowsForward(Loader.java:409)
... 31 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
14 years, 6 months
[Hibernate-JIRA] Created: (HHH-3992) SQLServer "contains" boolean predicate not handled in HQL
by Scott Van Wart (JIRA)
SQLServer "contains" boolean predicate not handled in HQL
---------------------------------------------------------
Key: HHH-3992
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3992
Project: Hibernate Core
Issue Type: Improvement
Components: query-hql
Affects Versions: 3.3.2, 3.3.1
Environment: Hibernate core 3.3.1, JDK 1.6, SQLServer 2003
Reporter: Scott Van Wart
The following HQL:
select pp from Product pp where CONTAINS( pp.keywords, :keywords )
Will throw this exception:
org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: ( near line 1, column 33 [select pp from Product pp where CONTAINS( pp.keywords, :keywords )]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:82)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:258)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:134)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1650)
I tried changing it to this:
select pp from Product pp where CONTAINS( pp.keywords, :keywords ) = TRUE
But then SQL Server doesn't like it (it produces SQL like "CONTAINS(pkgproduct0_.keywords, ?)=1":
org.hibernate.exception.SQLGrammarException: could not execute query using scroll
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '='.
--
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
14 years, 6 months
[Hibernate-JIRA] Created: (HHH-3002) database field name 'version' causes ClassCastException while building session factory
by Patrick Burke (JIRA)
database field name 'version' causes ClassCastException while building session factory
--------------------------------------------------------------------------------------
Key: HHH-3002
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3002
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.5
Environment: Hibernate 3.2.5, Java 1.6.0_03, MySQL 5.0.41
Reporter: Patrick Burke
Attachments: out.hib4
When a database table contains a field named 'version', like his one:
DROP TABLE IF EXISTS `tester`.`software_package`;
CREATE TABLE `tester`.`software_package` (
`software_id` int(11) NOT NULL auto_increment,
`version` varchar(100) default NULL,
`name` varchar(100) default NULL,
`root_file_id` int(11) default NULL,
PRIMARY KEY (`software_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
The following error is thrown:
[java] Initial SessionFactory creation failed.java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
[java] Exception in thread "main" java.lang.ExceptionInInitializerError
[java] at util.HibernateUtil.<clinit>(Unknown Source)
[java] at events.EventManager.listNodes(Unknown Source)
[java] at events.EventManager.main(Unknown Source)
[java] Caused by: java.lang.ClassCastException: org.hibernate.type.StringType cannot be cast to org.hibernate.type.VersionType
[java] at org.hibernate.tuple.PropertyFactory.buildVersionProperty(PropertyFactory.java:84)
[java] at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:168)
[java] at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
[java] at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
[java] at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
[java] at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
[java] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
[java] ... 3 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
14 years, 6 months
[Hibernate-JIRA] Created: (HHH-4968) Cannot deactivate default BeanValidationListener independently of DDL constraints generation
by Vladimir Klyushnikov (JIRA)
Cannot deactivate default BeanValidationListener independently of DDL constraints generation
--------------------------------------------------------------------------------------------
Key: HHH-4968
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4968
Project: Hibernate Core
Issue Type: Bug
Components: annotations
Affects Versions: 3.5.0-CR-2
Environment: Hibernate 3.5.0-CR-2, Hibernate Validator 4.0.2.GA
Reporter: Vladimir Klyushnikov
Hi,
I need to configure my custom BeanValidationListener instance through Spring, but I cannot deactivate default BeanValidationListener instance. It can be switched off only with DDL constraint generation. When I provide *DDL* value for *javax.persistence.validation.mode* it still activates default BeanValidationListener. When I provide *NONE* value it switches off both BeanValidationListener and DDL constraints. This is because of following code in *BeanValidationListener.java*:
{code}
public static void activateBeanValidation(EventListeners eventListeners, Properties properties) {
...
if ( modes.contains( ValidationMode.NONE ) ) return;
...
}
{code}
It should be changed to following:
{code}
if (!(modes.contains(ValidationMode.CALLBACK) || modes.contains( ValidationMode.AUTO))) return;
{code}
--
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
14 years, 6 months
[Hibernate-JIRA] Created: (HHH-5195) FilterImpl.validate() throws NullPointerExeption at line 164
by Savochkin Alexander (JIRA)
FilterImpl.validate() throws NullPointerExeption at line 164
------------------------------------------------------------
Key: HHH-5195
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5195
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.1
Environment: hibernate-distribution-3.5.1-Final-dist
Reporter: Savochkin Alexander
After deserialization NPE is thrown at this line
FilterImpl
{code}
line:164
Iterator itr = definition.getParameterNames().iterator();
{code}
the last lines from stack trace are:
{code}
java.lang.NullPointerException
at org.hibernate.impl.FilterImpl.validate(FilterImpl.java:164)
at org.hibernate.engine.LoadQueryInfluencers.getEnabledFilters(LoadQueryInfluencers.java:109)
at org.hibernate.impl.SessionImpl.readObject(SessionImpl.java:2144)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:600)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:986)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
{code}
Looking at SessionImpl class we see:
{code}
line 2143:
Iterator iter = loadQueryInfluencers.getEnabledFilters().values().iterator();
while ( iter.hasNext() ) {
( ( FilterImpl ) iter.next() ).afterDeserialize( factory );
}
{code}
LoadQueryInfluencers:
{code}
line:105
Iterator itr = enabledFilters.values().iterator();
while ( itr.hasNext() ) {
final Filter filter = ( Filter ) itr.next();
filter.validate();
}
{code}
So, afterDeserialization() on enabled filters method is invoked AFTER getEnabledFilters() method is.
It seems to be the reason why the private TRANSIENT field "definition" of every filter is null at the moment of filter validation!
"definition" field is supposed to be initialized only after validate() is called.
--
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
14 years, 6 months
[Hibernate-JIRA] Created: (HHH-4036) EntityMetamodel entityNameByInheritenceClassNameMap field used inconsistently
by Jeremy Stone (JIRA)
EntityMetamodel entityNameByInheritenceClassNameMap field used inconsistently
-----------------------------------------------------------------------------
Key: HHH-4036
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4036
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.3.2
Reporter: Jeremy Stone
After upgrading (from 3.3.0.SP1) to 3.3.2.GA we have started getting the follow stack trace logged:
org.hibernate.HibernateException: Unable to resolve entity name from Class [com.cyclone.netPrefect.admin.restriction.complex.TimeSpanRestrictionItemEntity] expected instance/subclass of [RestrictionItem]
at org.hibernate.tuple.entity.PojoEntityTuplizer.determineConcreteSubclassEntityName(PojoEntityTuplizer.java:363)
at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassEntityPersister(AbstractEntityPersister.java:3643)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1375)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:535)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:103)
... etc, etc
The com.cyclone.netPrefect.admin.restriction.complex.TimeSpanRestrictionItemEntity is mapped (with entity name TimeSpanRestrictionItem) as a joined subclass of the entity named RestrictionItem.
I have had a look at the Hibernate source for 3.3.2.ga and it looks like problem is the way that the org.hibernate.tuple.entity.EntityMetamodel is using it entityNameByInheritenceClassNameMap field:
* Puts to the map are based on PersistentClass.getMappedClass() as a key - a Class object
* Gets from the map (in findEntityNameByEntityClass method) are using the class name
Presumably (given the name of the map field) both put and get should be using the class name.
--
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
14 years, 6 months