com.picocontainer.persistence.hibernate.AbstractConfigurationTestCase.java Source code

Java tutorial

Introduction

Here is the source code for com.picocontainer.persistence.hibernate.AbstractConfigurationTestCase.java

Source

/*******************************************************************************
 * Copyright (C) 2003-2011 PicoContainer Committers. All rights reserved.
 * ---------------------------------------------------------------------------
 * The software in this package is published under the terms of the BSD style
 * license a copy of which has been included with this distribution in the
 * LICENSE.txt file.
 ******************************************************************************/

package com.picocontainer.persistence.hibernate;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

public abstract class AbstractConfigurationTestCase {

    protected void assertPojoCanBeSaved(SessionFactory sessionFactory, Fooable pojo) {
        Session session = null;
        try {
            session = sessionFactory.openSession();
            Integer result = (Integer) session.save(pojo);
            assertNotNull(result);
            session.close();

            session = sessionFactory.openSession();
            Fooable pojo2 = (Fooable) session.load(pojo.getClass(), result);
            assertNotNull(pojo);
            assertEquals(pojo.getId(), pojo2.getId());
            assertEquals(pojo.getFoo(), pojo2.getFoo());
        } finally {
            if (session != null && session.isOpen()) {
                session.close();
            }
            sessionFactory.close();
        }
    }

}