[hibernate-commits] Hibernate SVN: r19086 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Mar 23 03:14:24 EDT 2010


Author: stliu
Date: 2010-03-23 03:14:24 -0400 (Tue, 23 Mar 2010)
New Revision: 19086

Modified:
   core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
Log:
HHH-2997 LikeExpression case sensitive not working properly

Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java
===================================================================
--- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java	2010-03-23 05:24:30 UTC (rev 19085)
+++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/criteria/LikeTest.java	2010-03-23 07:14:24 UTC (rev 19086)
@@ -29,6 +29,7 @@
 import org.hibernate.Session;
 import org.hibernate.Transaction;
 import org.hibernate.criterion.Restrictions;
+import org.hibernate.dialect.MySQLDialect;
 import org.hibernate.junit.functional.FunctionalTestCase;
 
 
@@ -42,75 +43,50 @@
         return new String[]{"criteria/TestObject.hbm.xml"};
     }
     public void testLike(){
-        Session session=openSession();
+        Session session = openSession();
+        Transaction tx = session.beginTransaction();
+        TestObject obj = new TestObject();
         String uniq = "uniq" + System.currentTimeMillis();
-
-        // insert object
-        try {
-            Transaction tx = session.beginTransaction();
-
-            
-            TestObject obj = new TestObject();
-            obj.setText("XyZ " + uniq + " blablabla");
-            
-            session.saveOrUpdate(obj);
-            session.flush();
-            tx.commit();
-        } finally {
-            session.close();
-
-        }
+        obj.setText( "XyZ " + uniq + " blablabla" );
+        session.save( obj );
+        session.flush();
+        tx.commit();
+        session.close();
         String pattern = "XyZ " + uniq + "%";
-
         // retrieve object - case sensitive - works ok
         session = openSession();
-        try {
-            List objects = session.createCriteria(TestObject.class)
-                           .add(Restrictions.like("text", pattern))
-                           .list();
-            
-            assertEquals(1, objects.size());
-        } finally {
-            session.close();
-        }
+        tx = session.beginTransaction();
+        List objects = session.createCriteria( TestObject.class ).add(
+                Restrictions.like( "text", pattern ) ).list();
+        assertEquals( 1, objects.size() );
+        session.clear(); 
 
         // retrieve object - case insensitive - works ok
-        session = openSession();
-        try {
-            List objects = session.createCriteria(TestObject.class)
-                           .add(Restrictions.like("text", pattern).ignoreCase())
-                           .list();
-            
-            assertEquals(1, objects.size());
-        } finally {
-            session.close();
-        }
+        objects = session.createCriteria( TestObject.class ).add(
+                Restrictions.like( "text", pattern ).ignoreCase() ).list();
 
-        
-        // retrieve object - case insensitive via custom expression - works ok
-        session = openSession();
-        try {
-            List objects = session.createCriteria(TestObject.class)
-                           .add(StringExpression.stringExpression("text", pattern, true))
-                           .list();
-            
-            assertEquals(1, objects.size());
-        } finally {
-            session.close();
-        }
+        assertEquals( 1, objects.size() );
+        session.clear();
+        if ( !( getDialect() instanceof MySQLDialect ) ) {
+            // retrieve object - case insensitive via custom expression - works
+            // ok
+            objects = session.createCriteria( TestObject.class ).add(
+                    StringExpression.stringExpression( "text", pattern, true ) )
+                    .list();
 
-        
-        // retrieve object - case sensitive via custom expression - not working
-        session = openSession();
-        try {
-            List objects = session.createCriteria(TestObject.class)
-                           .add(StringExpression.stringExpression("text", pattern, false))
-                           .list();
-            
-            assertEquals(1, objects.size());
-        } finally {
-            session.close();
+            assertEquals( 1, objects.size() );
+            session.clear();
+
+            // retrieve object - case sensitive via custom expression - not
+            // working
+            objects = session.createCriteria( TestObject.class )
+                    .add(
+                            StringExpression.stringExpression( "text", pattern,
+                                    false ) ).list();
+            assertEquals( 1, objects.size() );
         }
+        tx.rollback();
+        session.close();
         
     }
 }



More information about the hibernate-commits mailing list