session.save(u);
//加一句试下看
session.flush();
UserInfo u1=(UserInfo)session.load(UserInfo.class, new Integer(1));
//加一句试下看
session.flush();
UserInfo u1=(UserInfo)session.load(UserInfo.class, new Integer(1));
获取session
getHibernateTemplate().getSessionFactory().getCurrentSession()
这样用完不必关系session
狒狒 我还不会Stping的 呵呵 刚学的 谢谢你们两位
说明你的hibernate.cfg.xml 有问题,虽然你有映射文件,但是你的UserInfo并没有被映射。
在你的hibernate.cfg.xml中增加一个配置。如下:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration> <session-factory>
<property name="connection.username">root </property>
<property name="connection.url">jdbc:mysql://localhost/hibernate </property>
<property name="dialect">org.hibernate.dialect.MySQLDialect </property>
<property name="connection.password">Zhouzongxi </property>
<property name="connection.driver_class">com.mysql.jdbc.Driver </property>
<mapping resource="hibernate/ch01/UserInfo.hbm.xml"/>
</session-factory>
</hibernate-configuration>
这样你的映射文件在hibernate启动时,才被加载。
试一下。
按你说的是对的 ,现在又出现一个异常,说文件没找到..log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.MappingException: Resource: hibernate/ch01/UserInfo.hbm.xml not found
at org.hibernate.cfg.Configuration.addResource(Configuration.java:447)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1098)
at hibernate.ch01.HibernateTest.main(HibernateTest.java:15)
请问下 这个应该怎么改?是不是我的目录弄错了?指点 谢谢
ls 正确
没有找到UserInfo实体,看看hbm文件指定目录下有没有这个类.
|
--hibernate.ch01
|
|
--src
|
--hibernate.ch01
¦
---hibernateTest.java
---UserInfo.java
---UserInfo.hbm.xml
whetu: 路径也没错啊
Exception in thread "main" org.hibernate.MappingException: Resource: hibernate/ch01/UserInfo.hbm.xml not found
at org.hibernate.cfg.Configuration.addResource(Configuration.java:447)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1098)
at hibernate.ch01.HibernateTest.main(HibernateTest.java:15) 相比之下 我第1个还打印出来了“开始插入数据”的字样,这个没有也...
<mapping resource="UserInfo.hbm.xml"/>
导致执行到SessionFactory sessions=new Configuration().configure().buildSessionFactory()时,出错,
只要找到hbm.xml,正确生成session,“开始插入数据”就出来了
我把那个UserInfo.hbm.xml改了下位置 提示其他的错误信息 ..后面解决了