-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: JavaDB embedded + Hibernate + @GeneratedValue
PostPosted: Sun Jul 03, 2011 3:34 pm 
Newbie

Joined: Sun Jul 03, 2011 3:09 pm
Posts: 3
Hi all, I'm a new hibernate user.

I'm testing basic functionality of hibernate. I'm using the last version of Hibernate, Netbeans 7 and javaDB with embedded driver.

I have created a table named "gare" with the netbeans editor (services-->database-->myEmbeddedConnection) and I'm trying to insert a row in that table.

My configFile is
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
<property name="hibernate.connection.url">jdbc:derby:C:\Users\Gavi\Documents\NetBeansProjects\TorneiTacticalConcept\tacticalConceptTornei</property>
<property name="hibernate.connection.username"/>
<property name="hibernate.connection.password"/>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<property name="hibernate.connection.pool_size">1</property>

<mapping class="it.tacticalConcept.model.Tiratori"/>
<mapping class="it.tacticalConcept.model.Gare"/>

</session-factory>
</hibernate-configuration>


and my java class is
Code:
@Entity
@Table(name="GARE")
public class Gare implements Serializable {
   
    @Id
    @GeneratedValue
    @Column(name="ID")
    private int id;
   
    @Column(name="NOME")
    private String nome;
   
    @Column(name="DATASVOLGIMENTO")
    @Temporal(TemporalType.DATE)
    private Date dataSvolgimento;

//setter and getter
}


When I'm trying to insert a new row with session.addOrUpdate method the stackTrace of the exception is
Code:
org.hibernate.exception.ConstraintViolationException: could not insert: [it.tacticalConcept.model.Gare]
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
   at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:64)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2345)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2852)
   at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
   at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
   at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
   at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
   at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
   at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
   at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
   at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
   at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
   at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
   at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
   at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:673)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:345)
   at $Proxy9.saveOrUpdate(Unknown Source)
   at it.tacticalConcept.manager.TorneiManager.addOrModifyTorneo(TorneiManager.java:40)
   at it.tacticalConcept.view.DlgAddOrModifyTorneo.btnNuovoTiratoreActionPerformed(DlgAddOrModifyTorneo.java:164)
   at it.tacticalConcept.view.DlgAddOrModifyTorneo.access$000(DlgAddOrModifyTorneo.java:26)
   at it.tacticalConcept.view.DlgAddOrModifyTorneo$1.actionPerformed(DlgAddOrModifyTorneo.java:122)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   at java.awt.Component.processMouseEvent(Component.java:6288)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6053)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4651)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Window.dispatchEventImpl(Window.java:2478)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
   at java.awt.EventQueue.access$000(EventQueue.java:84)
   at java.awt.EventQueue$1.run(EventQueue.java:602)
   at java.awt.EventQueue$1.run(EventQueue.java:600)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$2.run(EventQueue.java:616)
   at java.awt.EventQueue$2.run(EventQueue.java:614)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
   at java.awt.Dialog$1.run(Dialog.java:1046)
   at java.awt.Dialog$3.run(Dialog.java:1098)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.awt.Dialog.show(Dialog.java:1096)
   at java.awt.Component.show(Component.java:1584)
   at java.awt.Component.setVisible(Component.java:1536)
   at java.awt.Window.setVisible(Window.java:842)
   at java.awt.Dialog.setVisible(Dialog.java:986)
   at it.tacticalConcept.view.MainForm.showAddOrModifyTorneo(MainForm.java:45)
   at it.tacticalConcept.view.MainForm.menuNuovaGaraActionPerformed(MainForm.java:214)
   at it.tacticalConcept.view.MainForm.access$500(MainForm.java:28)
   at it.tacticalConcept.view.MainForm$6.actionPerformed(MainForm.java:140)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
   at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809)
   at javax.swing.plaf.basic.BasicMenuItemUI$Handler.menuDragMouseReleased(BasicMenuItemUI.java:913)
   at javax.swing.JMenuItem.fireMenuDragMouseReleased(JMenuItem.java:568)
   at javax.swing.JMenuItem.processMenuDragMouseEvent(JMenuItem.java:465)
   at javax.swing.JMenuItem.processMouseEvent(JMenuItem.java:411)
   at javax.swing.MenuSelectionManager.processMouseEvent(MenuSelectionManager.java:305)
   at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(BasicPopupMenuUI.java:807)
   at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Toolkit.java:2366)
   at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Toolkit.java:2258)
   at java.awt.Toolkit.notifyAWTEventListeners(Toolkit.java:2216)
   at java.awt.Component.dispatchEventImpl(Component.java:4549)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Window.dispatchEventImpl(Window.java:2478)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
   at java.awt.EventQueue.access$000(EventQueue.java:84)
   at java.awt.EventQueue$1.run(EventQueue.java:602)
   at java.awt.EventQueue$1.run(EventQueue.java:600)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$2.run(EventQueue.java:616)
   at java.awt.EventQueue$2.run(EventQueue.java:614)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'ID'  cannot accept a NULL value.
   at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
   at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
   at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
   at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
   at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
   at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
   at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
   at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
   at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
   at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:57)
   ... 111 more
Caused by: java.sql.SQLException: Column 'ID'  cannot accept a NULL value.
   at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
   at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
   ... 121 more
Caused by: ERROR 23502: Column 'ID'  cannot accept a NULL value.
   at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
   at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(Unknown Source)
   at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(Unknown Source)
   at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown Source)
   at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source)
   at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
   at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
   at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
   ... 115 more


I attach the window of the DB from netbeans
Image
Can you help me? I don't understand where is the problem...


Top
 Profile  
 
 Post subject: Re: JavaDB embedded + Hibernate + @GeneratedValue
PostPosted: Mon Jul 04, 2011 3:21 am 
Newbie

Joined: Sun Jul 03, 2011 3:09 pm
Posts: 3
I solved the problem creating the table with SQL code like this

CREATE TABLE Gare (
id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
nome VARCHAR(20) NOT NULL,
dataSvolgimento TIMESTAMP NOT NULL
)

and in my java class I write this code

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
private int id;


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.