发这种没有技术含量的问题,也是出于无奈。自己倒腾了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中跑相同代码没有任何问题。
请问我这个问题出在哪里了 谢谢。