org.hibernate.exception.SQLGrammarException: could not insert: [com.mengma.domain.User]
org.hibernate.exception.SQLGrammarException: could not insert: [com.mengma.domain.User]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:63)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2346)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2853)
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.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at com.mengma.test.UserTest.testInsert(UserTest.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 ‘user’ 附近有语法错误。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1515)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement
P
r
e
p
S
t
m
t
E
x
e
c
C
m
d
.
d
o
E
x
e
c
u
t
e
(
S
Q
L
S
e
r
v
e
r
P
r
e
p
a
r
e
d
S
t
a
t
e
m
e
n
t
.
j
a
v
a
:
350
)
a
t
c
o
m
.
m
i
c
r
o
s
o
f
t
.
s
q
l
s
e
r
v
e
r
.
j
d
b
c
.
T
D
S
C
o
m
m
a
n
d
.
e
x
e
c
u
t
e
(
I
O
B
u
f
f
e
r
.
j
a
v
a
:
5696
)
a
t
c
o
m
.
m
i
c
r
o
s
o
f
t
.
s
q
l
s
e
r
v
e
r
.
j
d
b
c
.
S
Q
L
S
e
r
v
e
r
C
o
n
n
e
c
t
i
o
n
.
e
x
e
c
u
t
e
C
o
m
m
a
n
d
(
S
Q
L
S
e
r
v
e
r
C
o
n
n
e
c
t
i
o
n
.
j
a
v
a
:
1715
)
a
t
c
o
m
.
m
i
c
r
o
s
o
f
t
.
s
q
l
s
e
r
v
e
r
.
j
d
b
c
.
S
Q
L
S
e
r
v
e
r
S
t
a
t
e
m
e
n
t
.
e
x
e
c
u
t
e
C
o
m
m
a
n
d
(
S
Q
L
S
e
r
v
e
r
S
t
a
t
e
m
e
n
t
.
j
a
v
a
:
180
)
a
t
c
o
m
.
m
i
c
r
o
s
o
f
t
.
s
q
l
s
e
r
v
e
r
.
j
d
b
c
.
S
Q
L
S
e
r
v
e
r
S
t
a
t
e
m
e
n
t
.
e
x
e
c
u
t
e
S
t
a
t
e
m
e
n
t
(
S
Q
L
S
e
r
v
e
r
S
t
a
t
e
m
e
n
t
.
j
a
v
a
:
155
)
a
t
c
o
m
.
m
i
c
r
o
s
o
f
t
.
s
q
l
s
e
r
v
e
r
.
j
d
b
c
.
S
Q
L
S
e
r
v
e
r
P
r
e
p
a
r
e
d
S
t
a
t
e
m
e
n
t
.
e
x
e
c
u
t
e
U
p
d
a
t
e
(
S
Q
L
S
e
r
v
e
r
P
r
e
p
a
r
e
d
S
t
a
t
e
m
e
n
t
.
j
a
v
a
:
314
)
a
t
o
r
g
.
h
i
b
e
r
n
a
t
e
.
i
d
.
I
d
e
n
t
i
t
y
G
e
n
e
r
a
t
o
r
PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155) at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314) at org.hibernate.id.IdentityGenerator
PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)atcom.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)atcom.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:314)atorg.hibernate.id.IdentityGeneratorGetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:93)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:56)
… 38 more
在这里table=“user”,中user是关键字。这里是不能使用关键字的
修改后