[Hibernate-JIRA] Created: (HHH-2586) Hibernate Serializable classes do not declare serialVersionUID
by Manuel Dominguez Sarmiento (JIRA)
Hibernate Serializable classes do not declare serialVersionUID
--------------------------------------------------------------
Key: HHH-2586
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2586
Project: Hibernate3
Issue Type: Bug
Components: core
Affects Versions: 3.2.3, 3.2.2, 3.2.1, 3.2.0.ga, 3.2.0.cr5, 3.2.0.cr4, 3.2.0.cr3, 3.2.0.cr2, 3.2.0 cr1, 3.1.3, 3.2.0.alpha2, 3.2.0.alpha1, 3.1.2, 3.1.1, 3.1, 3.1 rc3, 3.1 rc2, 3.1 rc 1, 3.1 beta 2, 3.1 beta 1, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0 final, 3.0 rc 1, 3.0 beta 4, 3.0 beta 3, 3.0 beta 2, 3.0 beta 1, 3.0 alpha
Environment: Not specific to any database, platform or Hibernate version.
Reporter: Manuel Dominguez Sarmiento
None of the Serializable classes in Hibernate declare serialVersionUID (see http://www.hibernate.org/hib_docs/v3/api/serialized-form.html#org.hiberna...).
This is recommended practice for ALL classes that implement the Serializable interface (see Joshua Bloch's Effective Java - Item #54). Adding these fields is trivial and takes little effort, but is a great enhancement if you are serializing Hibernate classes.
For instance, we upgraded from Hibernate 3.2.2 to 3.2.3 in our production servers. We serialize process state (which sometimes includes references to Hibernate-managed entities) every 30 seconds or so and on shutdown, so in the event of failures or re-deployment, the processes can continue where they left off. We had a huge surprise when deserialization failed completely because AbstractPersistentCollection had slightly changed between the 3.2.2 and 3.2.3 releases, and this caused the automatically-generated default serialVersionUID to change, even though the changes in the serialized form are compatible as far as we can tell.
--
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, 7 months
[Hibernate-JIRA] Created: (HHH-3379) Dialect support for SQL comments
by Daniel Bell (JIRA)
Dialect support for SQL comments
--------------------------------
Key: HHH-3379
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3379
Project: Hibernate3
Issue Type: Patch
Affects Versions: 3.2.6
Environment: Hibernate 3.2.6.ga, Informix 7.31
Reporter: Daniel Bell
Attachments: hibernate.dialect.patch
I have recently tried turning on SQL comments in hibernate 3.2.6.ga.
However, I found that our database (informix 7.31) did not support SQL
where the comment was at the start of the comment. Instead, the comment
needed to be after the SQL. For example:
/* not accepted by informix 7.31*/ select * from systables;
select * from systables /* accepted by informix 7.31*/
Because of this, I have added a method to the Dialect for adding comments:
/**
* Add a comment to the SQL string.
*
* @param sql StringBuffer holding the SQL.
* @param comment Comment to add to the SQL. May be null.
*/
public void addCommentToSql(StringBuffer sql, String comment) {
if (StringHelper.isNotEmpty(comment))
sql.insert(0, "/* " + comment + " */ ");
}
Thus, the default implementation provides the same functionality as
before. However, derived Dialects may override this method to add the
comment in a different location.
It is also possible to add additional comments in the derived Dialect.
In our case, we also add the Java thread ID.
--
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, 7 months
[Hibernate-JIRA] Created: (HHH-3388) Problem mixing implicit and explicit joins - Ok in Hib2 not in Hib3
by Philippe Chaléat (JIRA)
Problem mixing implicit and explicit joins - Ok in Hib2 not in Hib3
-------------------------------------------------------------------
Key: HHH-3388
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3388
Project: Hibernate3
Issue Type: Bug
Reporter: Philippe Chaléat
Trying to migrate a rather large app from Hibernate 2.1 to Hibernate, we face a blocking problem. With Hibernate 3, some of our queries generate invalid SQL. I found in the forum that this problem has been noticed by someone else (but no answer) :
http://forum.hibernate.org/viewtopic.php?t=963196&highlight=join+ora00904
We manage to reproduce the problem with the following query. With Hibernate 2, mixing explicit and implicit joins produced an SQL query with all "theta style" joins at the end of the query. In Hibernate 3, ANSI and "theta style" are mixed, which Oracle doesn't like.
HBM:
select a.description, a.seller, b.item.description " +
"from org.hibernate.auction.AuctionItem a inner join a.bids b
[java] SQL:
[java] select
[java] auctionite0_.description as col_0_0_,
[java] auctionite0_.seller as col_1_0_,
[java] auctionite3_.description as col_2_0_,
[java] user2_.id as id2_,
[java] user2_.userName as userName2_,
[java] user2_."password" as password3_2_,
[java] user2_.email as email2_,
[java] user2_.firstName as firstName2_,
[java] user2_."initial" as initial6_2_,
[java] user2_.lastName as lastName2_
[java] from
[java] AuctionItem auctionite0_
[java] inner join
[java] Bid bids1_
[java] on auctionite0_.id=bids1_.item,
[java] AuctionItem auctionite3_
[java] inner join
[java] AuctionUser user2_
[java] on auctionite0_.seller=user2_.id
[java] where
[java] bids1_.item=auctionite3_.id
Erreur:
[java] org.hibernate.exception.SQLGrammarException: could not execute query
[java] at org.hibernate.exception.SQLStateConverter.convert(SQLStateCon
verter.java:67)
[java] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExcep
tionHelper.java:43)
[java] at org.hibernate.loader.Loader.doList(Loader.java:2216)
[java] at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:
2104)
[java] at org.hibernate.loader.Loader.list(Loader.java:2099)
[java] at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:37
8)
[java] at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslato
rImpl.java:338)
[java] at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryP
lan.java:172)
[java] at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
[java] at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
[java] at org.hibernate.auction.Main.testOracleJoins(Main.java:359)
--
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, 7 months
[Hibernate-JIRA] Created: (HHH-2723) Problem manipulating CLOB column Oracle 10G
by Priya Venkatesan (JIRA)
Problem manipulating CLOB column Oracle 10G
-------------------------------------------
Key: HHH-2723
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2723
Project: Hibernate3
Issue Type: Bug
Affects Versions: 3.2.1
Reporter: Priya Venkatesan
When trying to insert successive records with CLOB column throws java.sql.BatchUpdateException: ORA-01400: cannot insert NULL error.
Steps to reproduce:
1.Create a object with CLOB mapped to string dataType
2.Set CLOB value (any value > 4000 chars)
3.Call session.save on the object
4.Create another object and do not set the CLOB column value.
5.Call session.save on the object.
--> Returns error
Hibernate: insert into JXPTEST (name, cost, thingSize, type, lastupdate, lockToken, id2, longField, booleanField, doubleField, clobField, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'name' to parameter: 1
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BigDecimalType - binding '999' to parameter: 2
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.IntegerType - binding '1' to parameter: 3
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding 'gold' to parameter: 4
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DateType - binding '04 July 2007' to parameter: 5
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700f9' to parameter: 6
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 7
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.LongType - binding null to parameter: 8
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.BooleanType - binding null to parameter: 9
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.DoubleType - binding null to parameter: 10
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding null to parameter: 11
2007-07-04 10:42:52,855 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG org.hibernate.type.StringType - binding '4c22dc2f138e21f301139253d0a700fa' to parameter: 12
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
at com.chordiant.persistence.HibernateDataAccess.createPoint(HibernateDataAccess.java:251)
at com.chordiant.persistence.HibernateDataAccess.createSet(HibernateDataAccess.java:266)
at com.chordiant.persistence.SQLDataAccess.createSet(SQLDataAccess.java:1149)
at com.chordiant.persistence.test.JXPTestService.createSet(JXPTestService.java:263)
at com.chordiant.persistence.test.JXPTestService.processRequest(JXPTestService.java:581)
at com.chordiant.service.MasterStatelessServiceBean.processRequest(MasterStatelessServiceBean.java:535)
at com.chordiant.service.GatewayHandler.processRequest(GatewayHandler.java:266)
at com.chordiant.service.ejb.EJBGatewayServiceBean.processRequestObject(EJBGatewayServiceBean.java:171)
at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl.processRequestObject(EJBGatewayServiceCMT_p5ylky_EOImpl.java:132)
at com.chordiant.service.ejb.EJBGatewayServiceCMT_p5ylky_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)
at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)
at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)
at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into ("CCSOWNER"."JXPTEST"."ID")
----------------------------------------------------------------------------------------------------------------------------
Following is my hibernate mapping file
hibernate-mapping>
<class name="com.chordiant.persistence.test.Thing" table="JXPTEST" lazy="false">
<id name="Id" column="ID" type="string">
<generator class="uuid.hex">
</generator>
</id>
<property name="nameOfAnItemThatHasToBeThisLongToTestTheOperationalBehavior" type="string" column="name" length="80" not-null="true" lazy="false"/>
<property name="cost" type="big_decimal" precision="8" scale="2" not-null="false" lazy="false"/>
<property name="size" type="int" column="thingSize" length="10" not-null="false" lazy="false"/>
<property name="type" type="string" column="type" length="80" not-null="true" lazy="false"/>
<property name="lastUpdate" type="date" column="lastupdate" not-null="false" lazy="false"/>
<property name="lockToken" type="string" column="lockToken" length="128" not-null="false" lazy="false"/>
<property name="id2" type="string" column="id2" length="80" not-null="false" lazy="false"/>
<property name="longField" type="long" column="longField" length="22" not-null="false" lazy="false"/>
<property name="booleanField" type="boolean" column="booleanField" length="1" not-null="false" lazy="false"/>
<property name="doubleField" type="java.lang.Double" column="doubleField" precision="8" scale="2" not-null="false" lazy="false"/>
<property name="clobField" type="string" column="clobField" length="128" not-null="false" lazy="false"/>
</class>
</hibernate-mapping>
--
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, 7 months