[hibernate-dev] Immutable entities
Steve Ebersole
steve at hibernate.org
Mon Jun 23 11:05:52 EDT 2008
What happens if you remove the unecessary save() call after changing the
name?
On Mon, 2008-06-23 at 09:08 +0200, Hardy Ferentschik wrote:
> Hi there,
>
> I am trying to figure out what should happen if I modify an entity marked
> as @Immutable. Somehow I expected an exception to be raised, but nothing
> seem to happen. I wrote this test case (the Country entity is marked as
> @Immutable):
>
> public void testImmutableEntity() throws Exception {
> Session s = openSession();
> Transaction tx = s.beginTransaction();
> Country country = new Country();
> country.setName("Germany");
> s.persist(country);
> tx.commit();
> s.close();
>
> try {
> s = openSession();
> tx = s.beginTransaction();
> Country germany = (Country) s.get(Country.class, country.getId());
> assertNotNull(germany);
> germany.setName("France");
> s.save(germany);
> // s.delete(germany);
> tx.commit();
> s.close();
> fail();
> } catch (Exception e) {
> log.debug("success");
> }
> }
>
> The exception is never raised. The core documentation only says "Immutable
> classes may not be updated or deleted by the application". It does not say
> anything about what happens if one tries to do so. Should the above
> testcase work or not?
>
> Thanks,
> Hardy
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
More information about the hibernate-dev
mailing list