public class DBExport_MirrorHA 
{
public static void main(String[] args)
{

        Configuration cfg = new Configuration().configure("hibernate-cfg.xml"); 
      
        SchemaExport export = new SchemaExport(cfg); 
       
        export.create(true,true); 
}
}执行之后drop table if exists t_empolyee
drop table if exists t_record
create table t_empolyee (id varchar(5) not null auto_increment, name varchar(50), department varchar(20), phone varchar(20), email varchar(20), primary key (id))
create table t_record (id varchar(5) not null auto_increment, username varchar(50), logindate datetime, IP varchar(20), exitdate datetime, primary key (id))
配置文件<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/FanFullOrder
</property>
<property name="connection.username">root</property>
<property name="connection.password">dhappy</property> <property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!--  <property name="hbm2ddl.auto">true</property> -->
    <property name="hbm2ddl.auto">update</property>
    <property name="show_sql">true</property>
    
    <mapping resource="fanfull/order/po/Employee.hbm.xml" />
    <mapping resource="fanfull/order/po/Record.hbm.xml" />
    
</session-factory>但是我运行时
om.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'fanfullorder.t_empolyee' doesn't exist
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1129)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at fanfull.order.dao.impl.UserDaoImpl.querylogin(UserDaoImpl.java:34)
at fanfull.order.actions.LoginAction.execute(LoginAction.java:49)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
1

解决方案 »

  1.   

    Table 'fanfullorder.t_empolyee' doesn't exist这不是很明白了吗
      

  2.   


    大哥啊 我的意思是 我运行那个方法  hibernate 已经发出了建表语句啊  但是数据库里没看到表!
      

  3.   

    改成 <property name="hbm2ddl.auto">create</property>  试试   我也初学不太懂 你先建表嘛
      

  4.   


    fanfullorder  数据库名字
      

  5.   

    你把 update 改成create  就可以啦       如果先建表就要把这句注释掉不让会把你建好的表覆盖掉的
    上面我是想告诉他们是  数据库.表名
      

  6.   


    最后不是执行create 吗?
      

  7.   

    是不是缺少<property name="myeclipse.connection.profile">mysql</property>这句啊,我的可以自动生成,好像就比你多这句。
      

  8.   

    问题解决 对象的 hbm 文件 id 不能设置成String 的自动增长。不知道怎么一回事!
      

  9.   

    <property name="hbm2ddl.auto">update</property>
    楼主大人
    这里需要这样配置
    <property name="hbm2ddl.auto">create</property>
      

  10.   


    @楼主
    <property name="hbm2ddl.auto">update</property>

    <property name="hibernate.hbm2ddl.auto">update</property>
      

  11.   

    把hibernate.cfg.xml中的这个<property name="hbm2ddl.auto">create</property>去掉;
      

  12.   

    非常感谢你啊,我今天也遇到这个问题了,控制台打印了建表语句,可是数据库中没表,原来是主键自动增长的不能用String 类型。。