1、三种状态的区分关键在于
A、有没有ID
B、ID在数据库中有没有
C、在内存中有没有(session缓存)

2、三种状态说明
A、transient:内存中一个对象,没ID,缓存中也没有
B、persistent:内存中有,缓存中有,数据库有(存在ID)
C、detached:内存有,缓存没有,数据库有(存在ID)

        TeacherPK pk = new TeacherPK();
        pk.setId(
4);
        pk.setName(
"t1");
        Teacher t 
= new Teacher();
        t.setPk(pk);
        t.setTitle(
"高级");
        t.setBirthDate(
new Date());
        t.setStatus(Status.sNormal);
        
//t    ->    transient

        Session session 
= sessionFactory.getCurrentSession();
        session.beginTransaction();
        session.save(t);
        session.getTransaction().commit();
        
//t   ->     persistent
        
        System.out.println(t.getTitle());
        
//t   ->     detached