mirror of
https://github.com/querydsl/querydsl.git
synced 2026-07-03 21:07:49 +08:00
Improve SQLServer tests for JPA
This commit is contained in:
parent
8d9aeacf38
commit
4a4ea7a46d
@ -444,6 +444,7 @@ public abstract class AbstractJPATest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@ExcludeIn(SQLSERVER)
|
||||
public void Cast_ToString() {
|
||||
for (Tuple tuple : query().from(cat).select(cat.breed, cat.breed.stringValue()).fetch()) {
|
||||
assertEquals(
|
||||
@ -453,6 +454,7 @@ public abstract class AbstractJPATest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@ExcludeIn(SQLSERVER)
|
||||
public void Cast_ToString_Append() {
|
||||
for (Tuple tuple : query().from(cat).select(cat.breed, cat.breed.stringValue().append("test")).fetch()) {
|
||||
assertEquals(
|
||||
@ -626,7 +628,7 @@ public abstract class AbstractJPATest {
|
||||
|
||||
@Test
|
||||
@NoEclipseLink({DERBY, HSQLDB})
|
||||
@NoHibernate({DERBY, POSTGRESQL})
|
||||
@NoHibernate({DERBY, POSTGRESQL, SQLSERVER})
|
||||
public void Date_YearWeek() {
|
||||
int value = query().from(cat).select(cat.birthdate.yearWeek()).fetchFirst();
|
||||
assertTrue(value == 200006 || value == 200005);
|
||||
@ -634,7 +636,7 @@ public abstract class AbstractJPATest {
|
||||
|
||||
@Test
|
||||
@NoEclipseLink({DERBY, HSQLDB})
|
||||
@NoHibernate({DERBY, POSTGRESQL})
|
||||
@NoHibernate({DERBY, POSTGRESQL, SQLSERVER})
|
||||
public void Date_Week() {
|
||||
int value = query().from(cat).select(cat.birthdate.week()).fetchFirst();
|
||||
assertTrue(value == 6 || value == 5);
|
||||
@ -737,6 +739,7 @@ public abstract class AbstractJPATest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@ExcludeIn(SQLSERVER)
|
||||
public void Enum_StartsWith() {
|
||||
assertEquals(1, query().from(company).where(company.ratingString.stringValue().startsWith("A")).fetchCount());
|
||||
}
|
||||
@ -1264,6 +1267,7 @@ public abstract class AbstractJPATest {
|
||||
|
||||
@Test
|
||||
@NoBatooJPA
|
||||
@ExcludeIn(SQLSERVER)
|
||||
public void Order_NullsFirst() {
|
||||
assertNull(query().from(cat)
|
||||
.orderBy(cat.dateField.asc().nullsFirst())
|
||||
@ -1272,6 +1276,7 @@ public abstract class AbstractJPATest {
|
||||
|
||||
@Test
|
||||
@NoBatooJPA
|
||||
@ExcludeIn(SQLSERVER)
|
||||
public void Order_NullsLast() {
|
||||
assertNotNull(query().from(cat)
|
||||
.orderBy(cat.dateField.asc().nullsLast())
|
||||
@ -1355,7 +1360,7 @@ public abstract class AbstractJPATest {
|
||||
}
|
||||
|
||||
@Test
|
||||
@ExcludeIn({MYSQL, TERADATA})
|
||||
@ExcludeIn({MYSQL, SQLSERVER, TERADATA})
|
||||
@NoOpenJPA
|
||||
public void StringOperations() {
|
||||
// NOTE : locate in MYSQL is case-insensitive
|
||||
|
||||
@ -168,7 +168,7 @@ public abstract class AbstractSQLTest {
|
||||
|
||||
@Test
|
||||
public void Limit_Offset() {
|
||||
assertEquals(2, query().from(cat).limit(2).offset(2).select(cat.id, cat.name).fetch().size());
|
||||
assertEquals(2, query().from(cat).orderBy(cat.id.asc()).limit(2).offset(2).select(cat.id, cat.name).fetch().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -178,19 +178,19 @@ public abstract class AbstractSQLTest {
|
||||
|
||||
@Test
|
||||
public void List_Limit_And_Offset() {
|
||||
assertEquals(3, query().from(cat).offset(3).limit(3).select(cat.id).fetch().size());
|
||||
assertEquals(3, query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(cat.id).fetch().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void List_Limit_And_Offset2() {
|
||||
List<Tuple> tuples = query().from(cat).offset(3).limit(3).select(cat.id, cat.name).fetch();
|
||||
List<Tuple> tuples = query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(cat.id, cat.name).fetch();
|
||||
assertEquals(3, tuples.size());
|
||||
assertEquals(2, tuples.get(0).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void List_Limit_And_Offset3() {
|
||||
List<Tuple> tuples = query().from(cat).offset(3).limit(3).select(Projections.tuple(cat.id, cat.name)).fetch();
|
||||
List<Tuple> tuples = query().from(cat).orderBy(cat.id.asc()).offset(3).limit(3).select(Projections.tuple(cat.id, cat.name)).fetch();
|
||||
assertEquals(3, tuples.size());
|
||||
assertEquals(2, tuples.get(0).size());
|
||||
}
|
||||
@ -236,7 +236,7 @@ public abstract class AbstractSQLTest {
|
||||
@Test
|
||||
@ExcludeIn({Target.H2, Target.MYSQL})
|
||||
public void List_With_Offset() {
|
||||
assertEquals(3, query().from(cat).offset(3).select(cat.id).fetch().size());
|
||||
assertEquals(3, query().from(cat).orderBy(cat.id.asc()).offset(3).select(cat.id).fetch().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@ -15,16 +15,16 @@ public final class Mode {
|
||||
|
||||
public static SQLTemplates getSQLTemplates() {
|
||||
switch (target.get()) {
|
||||
case CUBRID: return new CUBRIDTemplates();
|
||||
case DERBY: return new DerbyTemplates();
|
||||
case H2: return new H2Templates();
|
||||
case HSQLDB: return new HSQLDBTemplates();
|
||||
case SQLSERVER: return new SQLServerTemplates();
|
||||
case MYSQL: return new MySQLTemplates();
|
||||
case ORACLE: return new OracleTemplates();
|
||||
case CUBRID: return new CUBRIDTemplates();
|
||||
case DERBY: return new DerbyTemplates();
|
||||
case H2: return new H2Templates();
|
||||
case HSQLDB: return new HSQLDBTemplates();
|
||||
case SQLSERVER: return new SQLServer2008Templates();
|
||||
case MYSQL: return new MySQLTemplates();
|
||||
case ORACLE: return new OracleTemplates();
|
||||
case POSTGRESQL: return new PostgreSQLTemplates();
|
||||
case SQLITE: return new SQLiteTemplates();
|
||||
case TERADATA: return new TeradataTemplates();
|
||||
case SQLITE: return new SQLiteTemplates();
|
||||
case TERADATA: return new TeradataTemplates();
|
||||
}
|
||||
throw new IllegalStateException("Unknown mode " + mode);
|
||||
}
|
||||
|
||||
@ -228,6 +228,23 @@
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
|
||||
<!--mssql -->
|
||||
|
||||
<persistence-unit name="mssql">
|
||||
<provider>org.hibernate.ejb.HibernatePersistence</provider>
|
||||
<properties>
|
||||
<property name="hibernate.archive.autodetection" value="class" />
|
||||
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServer2008Dialect" />
|
||||
<property name="hibernate.connection.driver_class" value="net.sourceforge.jtds.jdbc.Driver" />
|
||||
<property name="hibernate.connection.url" value="jdbc:jtds:sqlserver://localhost:1433/querydsl" />
|
||||
<property name="hibernate.connection.username" value="querydsl" />
|
||||
<property name="hibernate.connection.password" value="querydsl" />
|
||||
<!-- <property name="hibernate.show_sql" value="true"/> -->
|
||||
<property name="hibernate.flushMode" value="FLUSH_AUTO" />
|
||||
<property name="hibernate.hbm2ddl.auto" value="update" />
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
|
||||
<!-- postgresql -->
|
||||
|
||||
<persistence-unit name="postgresql">
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
## MSSQL
|
||||
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
|
||||
hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect
|
||||
hibernate.connection.driver_class=net.sourceforge.jtds.jdbc.Driver
|
||||
hibernate.connection.url=jdbc:jtds:sqlserver://localhost:1433/querydsl
|
||||
hibernate.connection.username=querydsl
|
||||
|
||||
Loading…
Reference in New Issue
Block a user