aspose file tools
The moose likes Object Relational Mapping and the fly likes hibernate MS SQL 2005 generator Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Object Relational Mapping
Reply Bookmark "hibernate MS SQL 2005 generator "native" problem" Watch "hibernate MS SQL 2005 generator "native" problem" New topic
Author

hibernate MS SQL 2005 generator "native" problem

Mahima Singh
Greenhorn

Joined: May 16, 2007
Posts: 26
Hi!

I am getting this exception when i try to use generator class = "native" for my id field in DataBase :



org.hibernate.exception.SQLGrammarException: could not insert: [com.test.TempXMLDAO]at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:40)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2108)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2588)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:48)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at com.test.TempXMLDAOManager.store(TempXMLDAOManager.java:24)
at com.test.TempXMLDAOManager.main(TempXMLDAOManager.java:15)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: DEFAULT or NULL are not allowed as explicit identity values.at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteUpdate(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(Unknown Source)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
... 17 more


MY mapping file is as follows:

<class name="com.test.TempXMLDAO" proxy="com.test.TempXMLDAO" table="TempXMLTable">
<id column="ID" name="id">
<generator class="native"/>
</id>
<property column="TempXMLRecord" name="tempXMLRecord"/>
</class>


If i remove identity from my ID column in database & use a normal ID in mapping then it works fine.
I have also tried generator class = "increment" but no luck.

please help.
Thanks in advance
regards
Mahima
Jaikiran Pai
Saloon Keeper

Joined: Jul 20, 2005
Posts: 6718

Try



[My Blog] [JavaRanch Journal]
Mahima Singh
Greenhorn

Joined: May 16, 2007
Posts: 26
Thanks for reply!!

I also tried identity but the same problem, so what i have done is :
I have set the Idenity Specification in DB table as no & i am using

<generator class="increment"/>

in my mapping file and its working fine.

But My problem is that one of the tables is shared between the two different applications and if i remove the identity on one will affect the other application. Though we are planning to move the other one on hibernate as well but i will have to do them together.



But in the mean time i will look for some alternatives. Please suggest some.

regards,
Mahima
 
IntelliJ Java IDE
 
subject: hibernate MS SQL 2005 generator "native" problem
 
Threads others viewed
many to one unidirectional propertyaccessexception
SQLGrammerException in Hibernate
org.hibernate.exception.ConstraintViolationException
Problem with inserting new data into database using hibernate
Issue in inserting into DB using Hibernate, Spring
developer file tools

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture