我用hibernate做的时候,为什么能在数据库中创建表,但是却没有记录。很怪!!import gigix.forum.bean.Post;
import gigix.forum.bean.User;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.tool.hbm2ddl.SchemaExport;public class UserHibernate {
public static void main(String[] args) throws Exception{
Configuration cfg = new Configuration(); cfg = cfg.addClass(User.class);
cfg = cfg.addClass(Post.class);
SessionFactory sessions = cfg.buildSessionFactory();
new SchemaExport(cfg).create(true, true); Session session = sessions.openSession();
User user = new User("Gigix");
user.setMail("[email protected]"); Post post = new Post();
post.setTitle("Test");
post.setContent("Only for Test"); user.getPosts().add(post);//getPosts()方法返回posts set session.save(user);
session.flush();
session.close();
session = sessions.openSession();
Query q = session.createQuery("from Post as post where post.title = 'test'");
post = (Post) q.list().get(0);
System.out.println(post.getOwner().getMail());
System.out.println(post.getOwner().getId()); post.getOwner().setMail("[email protected]");
session.update(post);
System.out.println(post.getOwner().getMail()); session.flush();
session.close(); }
}User和Post类的代码就省略了。
编译执行 java UserHibernate 结果如下:
==================================
............省略了一些正常的系统输出
[email protected]
Gigix
[email protected]说明一切正常,同时我查看数据库。
发现建立了[users]和[post]表,表结构也和我要求的一样,但是二表里面却没有记录。
********为什么呢???????????************
import gigix.forum.bean.User;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.tool.hbm2ddl.SchemaExport;public class UserHibernate {
public static void main(String[] args) throws Exception{
Configuration cfg = new Configuration(); cfg = cfg.addClass(User.class);
cfg = cfg.addClass(Post.class);
SessionFactory sessions = cfg.buildSessionFactory();
new SchemaExport(cfg).create(true, true); Session session = sessions.openSession();
User user = new User("Gigix");
user.setMail("[email protected]"); Post post = new Post();
post.setTitle("Test");
post.setContent("Only for Test"); user.getPosts().add(post);//getPosts()方法返回posts set session.save(user);
session.flush();
session.close();
session = sessions.openSession();
Query q = session.createQuery("from Post as post where post.title = 'test'");
post = (Post) q.list().get(0);
System.out.println(post.getOwner().getMail());
System.out.println(post.getOwner().getId()); post.getOwner().setMail("[email protected]");
session.update(post);
System.out.println(post.getOwner().getMail()); session.flush();
session.close(); }
}User和Post类的代码就省略了。
编译执行 java UserHibernate 结果如下:
==================================
............省略了一些正常的系统输出
[email protected]
Gigix
[email protected]说明一切正常,同时我查看数据库。
发现建立了[users]和[post]表,表结构也和我要求的一样,但是二表里面却没有记录。
********为什么呢???????????************
解决方案 »
- 访问首页,要求地址栏里不变化
- 网站上传问题
- hql语句模糊查询问题!
- 關于java下拉列表的問題
- struts2 的项目,在jsp页面里取了一个从action中传出来的值进行比较,但是失败,不知道原因?求教!!!
- EJB3能直接使用hibernate的 .hbm.xml文件吗?
- spring配置文件加载sessionFactory的问题
- 请教APPLET和EJB的问题
- 一个jbuilderx中的struts应用的问题,可能有点难度,50分吧。请高手不吝赐教!
- EJB调用的问题
- 菜鸟请教:关于weblogic,jdk和j2ee调试EJB程序
- 高分在线求救!EJB全局事务失效,XA error: XAER_NOTA : The XID is not valid start() failed
session.connection().commit(); gigix的示例代码也算是极其不负责了,事务、会话……hibernate的日常工作他一律不管,都丢给读者来处理,辛苦了楼主这样的读者。还是多查一下hibernate的文档吧。
多谢你的指点,但是,同样的程序,我用MySQL做数据库就没有上述的问题!这就比较令我迷惑了。