hibernate生成表出现问题!
2012-03-3115:31:52,226ERROR[org.hibernate.util.JDBCExceptionReporter]-Table'class_inf...
2012-03-31 15:31:52,226 ERROR [org.hibernate.util.JDBCExceptionReporter] - Table 'class_info.t_user' doesn't exist
2012-03-31 15:31:52,228 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
java.sql.BatchUpdateException: Table 'class_info.t_user' doesn't exist
user类里面有六个属性:String(number、name、password、)int age、char sex、Date birthday
我的配置文件时这样的(其他不重要的省略了):
user.hbm.xml:
<hibernate-mapping>
<class name="com.myself.userManger.User" table="t_user">
<id name="number">
<generator class="assigned"/>
</id>
<property name="name"/>
<property name="password"/>
<property name="age"/>
<property name="sex"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
hibernate.xml:
<mapping resource="com/myself/userManger/user.hbm.xml"/>
我的测试单元程序代码是:
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
UserManagerImpl userManager = (UserManagerImpl)factory.getBean("userManager");
User user = new User();
user.setNumber("090601012");
user.setAge(22);
user.setBirthday(new Date(123456));
user.setName("XXX");
user.setPassword("497393102");
user.setSex('男');
userManager.addUser(user);
UserManagerImpl类里有:
public void addUser(User user) {
this.getHibernateTemplate().save(user);
}
我真不知道错哪里了,配置文件也检查了N遍,难啊!求解释!!!
这是出错之后的错误信息截图,希望大虾们能给小弟一个较全面的解释,谢谢!!! 展开
2012-03-31 15:31:52,228 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronize database state with session
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
java.sql.BatchUpdateException: Table 'class_info.t_user' doesn't exist
user类里面有六个属性:String(number、name、password、)int age、char sex、Date birthday
我的配置文件时这样的(其他不重要的省略了):
user.hbm.xml:
<hibernate-mapping>
<class name="com.myself.userManger.User" table="t_user">
<id name="number">
<generator class="assigned"/>
</id>
<property name="name"/>
<property name="password"/>
<property name="age"/>
<property name="sex"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
hibernate.xml:
<mapping resource="com/myself/userManger/user.hbm.xml"/>
我的测试单元程序代码是:
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");
UserManagerImpl userManager = (UserManagerImpl)factory.getBean("userManager");
User user = new User();
user.setNumber("090601012");
user.setAge(22);
user.setBirthday(new Date(123456));
user.setName("XXX");
user.setPassword("497393102");
user.setSex('男');
userManager.addUser(user);
UserManagerImpl类里有:
public void addUser(User user) {
this.getHibernateTemplate().save(user);
}
我真不知道错哪里了,配置文件也检查了N遍,难啊!求解释!!!
这是出错之后的错误信息截图,希望大虾们能给小弟一个较全面的解释,谢谢!!! 展开
展开全部
信息太少,不过看你题目是说生成表的问题。如果你保证bean 和 hbm 都没问题
就添加生成表
两种方法:
一种是hibernate.cfg.xml设置下:<property name="hbm2ddl.auto">create</property>
一种是用代码写法:
Java code
public class ExportDB {
public static void main(String[] args) {
//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
}
}
我没眼花的话 这个问题就是你表没有建立成功
很简单的话 就手动建表呗 自动建表很多问题的
要是学习用可以先建表 让他自动生成hbm文件 和自己的对比一下 就知道自己哪里写得不好 hibernate不能什么都认的
就添加生成表
两种方法:
一种是hibernate.cfg.xml设置下:<property name="hbm2ddl.auto">create</property>
一种是用代码写法:
Java code
public class ExportDB {
public static void main(String[] args) {
//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
export.create(true, true);
}
}
我没眼花的话 这个问题就是你表没有建立成功
很简单的话 就手动建表呗 自动建表很多问题的
要是学习用可以先建表 让他自动生成hbm文件 和自己的对比一下 就知道自己哪里写得不好 hibernate不能什么都认的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你将ID number 改成int 或者long 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我是用annotation 不实用xml配置表属性
不过我觉得xml应该可以设置表中各个字段的属性把》?
比如 主键:number 设为整数型 性别设为字符串型
还有你数据库里建立好空表了吗
不过我觉得xml应该可以设置表中各个字段的属性把》?
比如 主键:number 设为整数型 性别设为字符串型
还有你数据库里建立好空表了吗
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去你的数据库查下,看看表t_user在不在class_info这个库中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<property name="hibernate.hbm2ddl.auto">update</property>
这个hibernate.xml:里的配置写对了吗?
这个hibernate.xml:里的配置写对了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询