⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsubclasses.java

📁 hibernate quickly 一书的各章节源代码
💻 JAVA
字号:

import junit.framework.TestCase;
import com.manning.hq.apdxA.*;
import org.hibernate.Session;
import org.hibernate.HibernateException;

/**
 *
 */
public class TestSubclasses extends TestCase {
    private Session session1;
    private Session session2;

    protected void setUp() throws Exception {
        super.setUp();
        HibernateFactory.buildSessionFactory();
        session1 = HibernateFactory.openSession();
        session2 = HibernateFactory.openSession();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
        HibernateFactory.close(session1);
        HibernateFactory.close(session2);
    }

    public void testSubclasses() throws HibernateException {
        Event event = new Event();
        ConferenceEvent cEvent = new ConferenceEvent();
        NetworkingEvent nEvent = new NetworkingEvent();


        try {
            session1.save(event);
            session1.save(cEvent);
            session1.save(nEvent);
            session1.flush();

            Event loadedEvent = (Event) session2.load(Event.class, event.getId());
            ConferenceEvent loadedConferenceEvent = (ConferenceEvent) session2.load(ConferenceEvent.class, cEvent.getId());
            NetworkingEvent loadedNetworkEvent = (NetworkingEvent) session2.load(NetworkingEvent.class, nEvent.getId());
            assertNotNull("", loadedEvent);
            assertNotNull("", loadedConferenceEvent);
            assertNotNull("", loadedNetworkEvent);
        } finally {
            session1.delete(event);
            session1.delete(cEvent);
            session1.delete(nEvent);
            session1.flush();

        }
    }

    public void testJoinedSubclasses() throws HibernateException {
        Room event = new Room();
        SuiteRoom sRoom = new SuiteRoom();
        PenthouseRoom pRoom = new PenthouseRoom();


        try {
            session1.save(event);
            session1.save(sRoom);
            session1.save(pRoom);
            session1.flush();

            Room loadedEvent = (Room) session2.load(Room.class, event.getId());
            SuiteRoom loadedConferenceEvent = (SuiteRoom) session2.load(SuiteRoom.class, sRoom.getId());
            PenthouseRoom loadedNetworkEvent = (PenthouseRoom) session2.load(PenthouseRoom.class, pRoom.getId());
            assertNotNull("", loadedEvent);
            assertNotNull("", loadedConferenceEvent);
            assertNotNull("", loadedNetworkEvent);
        } finally {
            session1.delete(event);
            session1.delete(sRoom);
            session1.delete(pRoom);
            session1.flush();

        }
    }

    /**
     *
     */
    public void testUnion() {
        UnionBarterPayment pb = new UnionBarterPayment();
        UnionCreditCardPayment ccp = new UnionCreditCardPayment();

        try {
            session1.save(pb);
            session1.save(ccp);
            session1.flush();

            UnionBarterPayment ubp = (UnionBarterPayment) session2.load(UnionBarterPayment.class, pb.getId());
            UnionCreditCardPayment uccp = (UnionCreditCardPayment) session2.load(UnionCreditCardPayment.class, ccp.getId());
            assertNotNull("", ubp);
            assertNotNull("", uccp);
        } finally {
            session1.delete(pb);
            session1.delete(ccp);
            session1.flush();
            HibernateFactory.close(session1);
            HibernateFactory.close(session2);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -