/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.test.orphan; import org.junit.Test; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.testing.TestForIssue; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; /** * @author Steve Ebersole */ @TestForIssue( jiraKey = "HHH-565" ) public class PropertyRefTest extends BaseCoreFunctionalTestCase { @Override public String[] getMappings() { return new String[] { "orphan/User.hbm.xml", "orphan/Mail.hbm.xml" }; } @Test public void testDeleteParentWithBidirOrphanDeleteCollectionBasedOnPropertyRef() { Session session = openSession(); Transaction txn = session.beginTransaction(); User user = new User( "test" ); user.addMail( "test" ); user.addMail( "test" ); session.save( user ); txn.commit(); session.close(); session = openSession(); txn = session.beginTransaction(); user = ( User ) session.load( User.class, user.getId() ); session.delete( user ); txn.commit(); session.close(); session = openSession(); txn = session.beginTransaction(); session.createQuery( "delete from Mail where alias = :alias" ).setString( "alias", "test" ).executeUpdate(); session.createQuery( "delete from User where userid = :userid" ).setString( "userid", "test" ).executeUpdate(); txn.commit(); session.close(); } }