好记性不如烂笔头,今天照着视频敲出第一个hibernate程序。
首先,date属性不能是string型的,要是Date类的,import的包不能是java.util.Date而应该是java.sql.Date,id属性是Integer,改过类型的属性在所有文件里都要一一更改参数类型;
hbm(hibernate mapping)里面如果id属性设置成了generator class="native",那数据库里面id要设置成自动递增;
测试类test里面import的包应选org.hibernate开头的,比如
import static org.junit.Assert.*;
import java.sql.Date;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;
不能完全按书上抄,书上的跟不上更新,//sessionFactory=configuration.buildSessionFactory();这个方法只在hibernate4.0以下有效,4.0以上应该用
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory=configuration.buildSessionFactory(serviceRegistry);
数据库中必须有表已经定义好,因为最后Juint运行出来是一条insert语句。