Hi everyone,
I have a problem with hibernate save method in the reverse engineering generated DAO classes. I am using hibernate, myeclipse and mysql server. i dont have a prblem reading from the database, the only problem is with adding new records.
my user.hbm.xml file is as follows:
<hibernate-mapping>
<class name="com.office.hibernate
.User" table="user" catalog="officedb">
<id name="userId" type="java.lang.Integer">
<column name="userID" />
<generator class="increment" />
</id>
<property name="loginname" type="java.lang.String">
<column name="loginname" length="50" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="50" not-null="true" />
</property>
<property name="userName" type="java.lang.String">
<column name="userName" length="50" not-null="true" />
</property>
<property name="userType" type="java.lang.Integer">
<column name="userType" not-null="true" />
</property>
</class>
</hibernate-mapping>
Whenever I try to save a new record to the database I get the following error:
root cause
org.hibernate.exception.Ge
nericJDBCE
xception: could not fetch initial value for increment generator
org.hibernate.exception.SQ
LStateConv
erter.hand
ledNonSpec
ificExcept
ion(SQLSta
teConverte
r.java:103
)
org.hibernate.exception.SQ
LStateConv
erter.conv
ert(SQLSta
teConverte
r.java:91)
org.hibernate.exception.JD
BCExceptio
nHelper.co
nvert(JDBC
ExceptionH
elper.java
:43)
org.hibernate.id.Increment
Generator.
getNext(In
crementGen
erator.jav
a:107)
org.hibernate.id.Increment
Generator.
generate(I
ncrementGe
nerator.ja
va:44)
org.hibernate.event.def.Ab
stractSave
EventListe
ner.saveWi
thGenerate
dId(Abstra
ctSaveEven
tListener.
java:91)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.saveWithG
eneratedOr
RequestedI
d(DefaultS
aveOrUpdat
eEventList
ener.java:
186)
org.hibernate.event.def.De
faultSaveE
ventListen
er.saveWit
hGenerated
OrRequeste
dId(Defaul
tSaveEvent
Listener.j
ava:33)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.entityIsT
ransient(D
efaultSave
OrUpdateEv
entListene
r.java:175
)
org.hibernate.event.def.De
faultSaveE
ventListen
er.perform
SaveOrUpda
te(Default
SaveEventL
istener.ja
va:27)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.onSaveOrU
pdate(Defa
ultSaveOrU
pdateEvent
Listener.j
ava:70)
org.hibernate.impl.Session
Impl.fireS
ave(Sessio
nImpl.java
:530)
org.hibernate.impl.Session
Impl.save(
SessionImp
l.java:518
)
org.hibernate.impl.Session
Impl.save(
SessionImp
l.java:514
)
com.studentadminsystem.hib
ernate.Use
rDAO.save(
UserDAO.ja
va:29)
root cause
java.sql.SQLException: No database selected
com.mysql.jdbc.SQLError.cr
eateSQLExc
eption(SQL
Error.java
:946)
com.mysql.jdbc.MysqlIO.che
ckErrorPac
ket(MysqlI
O.java:294
1)
com.mysql.jdbc.MysqlIO.sen
dCommand(M
ysqlIO.jav
a:1623)
com.mysql.jdbc.MysqlIO.sql
QueryDirec
t(MysqlIO.
java:1715)
com.mysql.jdbc.Connection.
execSQL(Co
nnection.j
ava:3249)
com.mysql.jdbc.PreparedSta
tement.exe
cuteIntern
al(Prepare
dStatement
.java:1268
)
com.mysql.jdbc.PreparedSta
tement.exe
cuteQuery(
PreparedSt
atement.ja
va:1403)
org.hibernate.id.Increment
Generator.
getNext(In
crementGen
erator.jav
a:85)
org.hibernate.id.Increment
Generator.
generate(I
ncrementGe
nerator.ja
va:44)
org.hibernate.event.def.Ab
stractSave
EventListe
ner.saveWi
thGenerate
dId(Abstra
ctSaveEven
tListener.
java:91)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.saveWithG
eneratedOr
RequestedI
d(DefaultS
aveOrUpdat
eEventList
ener.java:
186)
org.hibernate.event.def.De
faultSaveE
ventListen
er.saveWit
hGenerated
OrRequeste
dId(Defaul
tSaveEvent
Listener.j
ava:33)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.entityIsT
ransient(D
efaultSave
OrUpdateEv
entListene
r.java:175
)
org.hibernate.event.def.De
faultSaveE
ventListen
er.perform
SaveOrUpda
te(Default
SaveEventL
istener.ja
va:27)
org.hibernate.event.def.De
faultSaveO
rUpdateEve
ntListener
.onSaveOrU
pdate(Defa
ultSaveOrU
pdateEvent
Listener.j
ava:70)
org.hibernate.impl.Session
Impl.fireS
ave(Sessio
nImpl.java
:530)
org.hibernate.impl.Session
Impl.save(
SessionImp
l.java:518
)
org.hibernate.impl.Session
Impl.save(
SessionImp
l.java:514
)
com.studentadminsystem.hib
ernate.Use
rDAO.save(
UserDAO.ja
va:29
Start Free Trial