hibernate遇到的十分诡异的一个问题 (初级)
测试hibernate小程序,所有jar包、xml配置都搞定,然后先测试一个teacher表。
源码如下:
-----------------------------------------
Teacher.java按照最简单的写法如下:
@Entity
public class Teacher {
?? ?private int id;
?? ?private String name;
?? ?@Id
?? ?@GeneratedValue
?? ?public int getId() {
?? ? ? ?return id;
?? ?}
?? ?public void setId(int id) {
?? ? ? ?this.id = id;
?? ?}
?? ?public String getName() {
?? ? ? ?return name;
?? ?}
?? ?public void setName(String name) {
?? ? ? ?this.name = name;
?? ?}
}
测试类如下:
public class TeacherTest {
?? ?private Session session= null;
?? ?
?? ?@Before
?? ?public void before(){
?? ? ? ?Configuration cfg = new AnnotationConfiguration();
?? ? ? ?SessionFactory sf = cfg.configure().buildSessionFactory();
?? ? ? ?session = sf.getCurrentSession();
?? ? ? ?session.getTransaction().begin();
?? ?}
?? ?
?? ?@Test
?? ?public void test01(){
?? ? ? ?
?? ? ? ?Teacher t = new Teacher();
?? ? ? ?t.setName("t2");
?? ? ? ?session.save(t);
?? ? ? ?
?? ?}
?? ?
?? ?@After
?? ?public void after(){
?? ? ? ?session.getTransaction().commit();
?? ?}
?? ? ? ?
?? ?
}
-------------------------------------------
测试test01()这个方法,成功,检查数据库,确实建表成功,数据也插入。
然后,诡异的现象出现了。。。。。。。。。。。。。。
我再建立一个文件,Group.java 里面内容和Teacher.java完全一样,意思就是再建
立一个表user。然后我又写了个测试方法test02(),如下:
?? ?@Test
?? ?public void test02(){
?? ? ? ?
?? ? ? ?Group group = new Group();
?? ? ? ?group.setName("china");
?? ? ? ?session.save(group);
?? ? ? ?
?? ?}
Junit测试 test02(),结果报错了。。。
报错信息如下:
org.hibernate.exception.SQLGrammarException : Could not execute
JDBC batch update ?at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverte
r.java:90)
.
.
.
.
Caused by: java.sql.BatchUpdateException : You have an error in
your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near 'Group (name, id)
values ('china', 1)' at line 1
?? ?at
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStat
ement.java:2054)
?? ?at .
.
.
.
.
我百思不得其解,到底哪里错了?两个表结构一样,测试方法一样,为什么第一个可以
执行,第二个就不可以执行了?????????
求大神指教!!!拜谢!!!!!
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。