论坛首页 Java版 Hibernate

[请教] hibernate是否需要自己先在数据库中手工创建表, 才能...

浏览 2332 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2004-09-14
hibernate是否需要自己先在数据库中手工创建表, 才能在保存数据时, 执行以下操作:

public void add() throws Exception {
        Configuration conf = new Configuration().addClass(Person.class);
        sessionFactory = conf.buildSessionFactory();
        Session s = sessionFactory.openSession();

        Transaction t = s.beginTransaction();

        Person yuj = new Person();
        yuj.setName("john");
        yuj.setAddress("上海");

        Person x = new Person();
        x.setName("zhaoyh");
        x.setAddress("上海");

        //持久化
        s.save(yuj); //此时yuj已经可以在数据库中找到
        s.save(x); //此时x已经可以在数据库中找到

        t.commit();
        s.close();
    }

还是 在保存数据时, hibernate 自动判断数据表是否存在, 若不存在自动能创建表!
   
最后更新时间:2004-09-14
需要事先创建好的
   
0 请登录后投票
最后更新时间:2004-09-14
谢谢, 我还想问一下是否可以根据.xml 文件自动在数据库中生成表呢?
   
0 请登录后投票
最后更新时间:2004-09-14
难道没有注意Package net.sf.hibernate.tool.hbm2ddl
   
0 请登录后投票
最后更新时间:2004-09-14
其实可以配置参数文件属性:
hibernate.hbm2ddl.auto create=true

但是这样会自动先删除表,除非修改相关的文件,创建是不要先删除。详细可看一下文档。

建议还是先创建好表吧,这样避免不必要的错误。其实有许多工具可以自动生成表结构。
sql->ddl ->hbm->class
   
0 请登录后投票
最后更新时间:2004-09-15
感谢各位的关注, 尤其是yangstarfly,  sevenbamboos 学者, 和风的指点, 谢谢你们!! 

我以前操作没有新建表总提示: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'users' 无效。
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛:
JavaEye推荐