NULL_8757512 2008-08-05 14:54
浏览 192
已采纳

Hibernate不能插入数据但可以查找数据(异灵事件!)

发这种没有技术含量的问题,也是出于无奈。自己倒腾了1天多了还是没有结果。

希望各位大人海涵。

问题是这样的

我使用的是 MyEclipse 6.5GA

1·建立一个普通的Java项目

2·加入Hibernate支持(MyEclipse->Porject Capabilities)

(1) 选择Hibernate3.2
(2) 创建SessionFactory

3·对数据库中的表建立反向工程

(1) 生成*.hbm.xml文件
(2) 生成Pojo类
(3) 生成BasicDAO
(4)id增长类型选择native(mySQl中已经配置了自增长)

4·创建Main函数

[code="java"]
package hibernate;

public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
    NewTableDAO dao = new NewTableDAO();
    NewTable test = new NewTable();
    test.setName("Help");
    dao.save(test);
    System.out.println("Finished");
}

}

[/code]

运行结果:

Hibernate: insert into test.new table (name) values (?)
Finished

但是数据库中没有插入任何数据!

不过要是运行自动生成的Dao中的任何查找功能都是没有问题的。

自动生成的Dao如下(部分):
[code="java"]
public class NewTableDAO extends BaseHibernateDAO {
private static final Log log = LogFactory.getLog(NewTableDAO.class);
// property constants
public static final String NAME = "name";

public void save(NewTable transientInstance) {
    log.debug("saving NewTable instance");
    try {
        getSession().save(transientInstance);
        log.debug("save successful");
    } catch (RuntimeException re) {
        log.error("save failed", re);
        throw re;
    }
}

[/code]

我在web项目中 及加入Hibernate、Spring(Hibernate不建立SessionFactory,使用Spring的)
在Juit中跑相同代码没有任何问题。

请问我这个问题出在哪里了 谢谢。

  • 写回答

1条回答 默认 最新

  • iteye_20656 2008-08-05 15:20
    关注

    [code="java"]
    public void save(NewTable transientInstance) {

    log.debug("saving NewTable instance");

    try {

    Transaction tran = getSession().beginTransaction();
    getSession().save(transientInstance);

    tran.commit();
    log.debug("save successful");

    } catch (RuntimeException re) {

    log.error("save failed", re);

    throw re;

    }

    }

    [/code]

    lz改成这样试试,希望能对您有所帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog