testbags.java

来自「hibernate quickly 一书的各章节源代码」· Java 代码 · 共 46 行

JAVA
46
字号

import junit.framework.TestCase;
import com.manning.hq.apdxA.Event;
import com.manning.hq.apdxA.Speaker;
import com.manning.hq.apdxA.HibernateFactory;
import org.hibernate.Session;
import org.hibernate.HibernateException;

/**
 *
 */
public class TestBags 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();
        session1.createQuery("delete Event").executeUpdate();
        session1.createQuery("delete Speaker").executeUpdate();
        session1.flush();
        HibernateFactory.close(session1);
        HibernateFactory.close(session2);
    }

    public void testOneToManyBag() throws HibernateException {
        Event event = new Event();
        Speaker speaker1 = new Speaker();
        Speaker speaker2 = new Speaker();

        event.getBagOfSpeakers().add(speaker1);
        event.getBagOfSpeakers().add(speaker2);

        session1.save(event);
        session1.flush();
        Event loadedEvent = (Event) session2.load(Event.class, event.getId());
        assertEquals("Should have 2 speakers", 2, loadedEvent.getBagOfSpeakers().size());
    }
}

⌨️ 快捷键说明

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