|
9 | 9 | import java.util.Map;
|
10 | 10 |
|
11 | 11 | import org.junit.Test;
|
12 |
| - |
13 | 12 | import org.hibernate.Hibernate;
|
14 | 13 | import org.hibernate.HibernateException;
|
15 | 14 | import org.hibernate.Query;
|
|
22 | 21 | import org.hibernate.dialect.H2Dialect;
|
23 | 22 | import org.hibernate.dialect.AbstractHANADialect;
|
24 | 23 | import org.hibernate.dialect.MySQL5Dialect;
|
| 24 | +import org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn; |
| 25 | +import org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder; |
25 | 26 | import org.hibernate.internal.util.collections.ArrayHelper;
|
26 | 27 | import org.hibernate.test.sql.hand.Dimension;
|
27 | 28 | import org.hibernate.test.sql.hand.Employment;
|
@@ -141,6 +142,28 @@ public void testFailOnNoAddEntityOrScalar() {
|
141 | 142 | s.close();
|
142 | 143 | }
|
143 | 144 | }
|
| 145 | + |
| 146 | + @Test |
| 147 | + public void testRegisteredNamedSQLQueryWithScalar() |
| 148 | + { |
| 149 | + final NamedSQLQueryDefinitionBuilder builder = new NamedSQLQueryDefinitionBuilder(); |
| 150 | + builder.setName("namedQuery"); |
| 151 | + builder.setQuery("select count(*) AS count from organization"); |
| 152 | + builder.setQueryReturns(new NativeSQLQueryReturn[1]); |
| 153 | + |
| 154 | + sessionFactory().registerNamedSQLQueryDefinition("namedQuery", builder.createNamedQueryDefinition()); |
| 155 | + |
| 156 | + final Session s = openSession(); |
| 157 | + s.beginTransaction(); |
| 158 | + final SQLQuery query = (SQLQuery) s.getNamedQuery("namedQuery"); |
| 159 | + query.addScalar("count"); |
| 160 | + final Object result = query.uniqueResult(); |
| 161 | + s.getTransaction().commit(); |
| 162 | + s.close(); |
| 163 | + |
| 164 | + assertNotNull(result); |
| 165 | + assertEquals(BigInteger.valueOf(0), result); |
| 166 | + } |
144 | 167 |
|
145 | 168 | @Test
|
146 | 169 | public void testManualSynchronization() {
|
|
0 commit comments