public void TestUpdateFalse() { User u; sessions.Statistics.Clear(); using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { u = new User("gavin", "secret", new Person("Gavin King", new DateTime(1999, 12, 31), "Karbarook Ave")); s.Persist(u); s.Flush(); u.Person.Name = "XXXXYYYYY"; t.Commit(); s.Close(); } Assert.That(sessions.Statistics.EntityInsertCount, Is.EqualTo(1)); Assert.That(sessions.Statistics.EntityUpdateCount, Is.EqualTo(0)); using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { u = (User)s.Get(typeof(User), "gavin"); Assert.That(u.Person.Name, Is.EqualTo("Gavin King")); s.Delete(u); t.Commit(); s.Close(); } Assert.That(sessions.Statistics.EntityDeleteCount, Is.EqualTo(1)); }
public void TestComponent() { User u; using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { u = new User("gavin", "secret", new Person("Gavin King", new DateTime(1999, 12, 31), "Karbarook Ave")); s.Persist(u); s.Flush(); u.Person.ChangeAddress("Phipps Place"); t.Commit(); } using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { u = (User)s.Get(typeof(User), "gavin"); Assert.That(u.Person.Address, Is.EqualTo("Phipps Place")); Assert.That(u.Person.PreviousAddress, Is.EqualTo("Karbarook Ave")); Assert.That(u.Person.Yob, Is.EqualTo(u.Person.Dob.Year)); u.Password = "******"; t.Commit(); } using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { u = (User)s.Get(typeof(User), "gavin"); Assert.That(u.Person.Address, Is.EqualTo("Phipps Place")); Assert.That(u.Person.PreviousAddress, Is.EqualTo("Karbarook Ave")); Assert.That(u.Password, Is.EqualTo("$ecret")); s.Delete(u); t.Commit(); } }
public void TestCustomColumnReadAndWrite() { const double HEIGHT_INCHES = 73; const double HEIGHT_CENTIMETERS = HEIGHT_INCHES * 2.54d; using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { User u = new User("steve", "hibernater", new Person( "Steve Ebersole", new DateTime(1999, 12, 31), "Main St")); u.Person.HeightInches = HEIGHT_INCHES; s.Persist(u); s.Flush(); // Test value conversion during insert double heightViaSql = (double)s.CreateSQLQuery("select height_centimeters from t_user where t_user.username='******'").UniqueResult(); Assert.That(heightViaSql, Is.EqualTo(HEIGHT_CENTIMETERS).Within(0.01d)); // Test projection double heightViaHql = (double)s.CreateQuery("select u.Person.HeightInches from User u where u.Id = 'steve'").UniqueResult(); Assert.That(heightViaHql, Is.EqualTo(HEIGHT_INCHES).Within(0.01d)); // Test restriction and entity load via criteria u = (User)s.CreateCriteria(typeof(User)) .Add(Restrictions.Between("Person.HeightInches", HEIGHT_INCHES - 0.01d, HEIGHT_INCHES + 0.01d)) .UniqueResult(); Assert.That(u.Person.HeightInches, Is.EqualTo(HEIGHT_INCHES).Within(0.01d)); // Test predicate and entity load via HQL u = (User)s.CreateQuery("from User u where u.Person.HeightInches between ? and ?") .SetDouble(0, HEIGHT_INCHES - 0.01d) .SetDouble(1, HEIGHT_INCHES + 0.01d) .UniqueResult(); Assert.That(u.Person.HeightInches, Is.EqualTo(HEIGHT_INCHES).Within(0.01d)); // Test update u.Person.HeightInches = 1; s.Flush(); heightViaSql = (double)s.CreateSQLQuery("select height_centimeters from t_user where t_user.username='******'").UniqueResult(); Assert.That(heightViaSql, Is.EqualTo(2.54d).Within(0.01d)); s.Delete(u); t.Commit(); s.Close(); } }
public void TestComponentStateChangeAndDirtiness() { // test for HHH-2366 using (ISession s = sessions.OpenSession()) using (ITransaction t = s.BeginTransaction()) { User u = new User("steve", "hibernater", new Person( "Steve Ebersole", new DateTime(1999, 12, 31), "Main St")); s.Persist(u); s.Flush(); long intialUpdateCount = sessions.Statistics.EntityUpdateCount; u.Person.Address = "Austin"; s.Flush(); Assert.That(sessions.Statistics.EntityUpdateCount, Is.EqualTo(intialUpdateCount + 1)); intialUpdateCount = sessions.Statistics.EntityUpdateCount; u.Person.Address = "Cedar Park"; s.Flush(); Assert.That(sessions.Statistics.EntityUpdateCount, Is.EqualTo(intialUpdateCount + 1)); s.Delete(u); t.Commit(); s.Close(); } }