mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-27 21:01:15 +08:00
added test for dumping class signatures
This commit is contained in:
parent
b62fa6e01b
commit
4bcef2164a
@ -54,7 +54,6 @@ class ScalaBeanSerializer extends Serializer {
|
||||
for (property <- model.getProperties()){
|
||||
property.getAnnotations.foreach( {writer.annotation(_);} )
|
||||
if (javaBeanSupport){
|
||||
//writer.annotation(classOf[BeanProperty]);
|
||||
writer.line("@BeanProperty");
|
||||
}
|
||||
writer.publicField(property.getType(), property.getEscapedName, "_");
|
||||
|
||||
@ -55,7 +55,6 @@ class ScalaMetaDataSerializer(val namePrefix: String, val namingStrategy: Naming
|
||||
}
|
||||
|
||||
val queryType = typeMappings.getPathType(model, model, true);
|
||||
//QUser(path: String) extends RelationalPathBase[QUser](classOf[QUser], path)
|
||||
var modelName = writer.getRawName(model);
|
||||
var queryTypeName = writer.getRawName(queryType);
|
||||
var classHeader = String.format(classHeaderFormat, queryTypeName, modelName);
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
package com.mysema.query.scala
|
||||
|
||||
import com.mysema.query.jpa.impl.JPAQuery
|
||||
import com.mysema.query.scala.Conversions._
|
||||
|
||||
import javax.persistence._;
|
||||
import org.junit.{Test,Before,After};
|
||||
import org.junit.Assert._
|
||||
|
||||
import scala.collection.JavaConversions._
|
||||
|
||||
import scala.reflect.BeanProperty;
|
||||
|
||||
class DumpClassTest {
|
||||
|
||||
@Test
|
||||
def test(){
|
||||
List(classOf[U], classOf[D], classOf[C]).foreach(cl =>
|
||||
{
|
||||
println(cl.getName);
|
||||
cl.getDeclaredFields.foreach( f => {
|
||||
println(f.getName);
|
||||
println(" " + java.util.Arrays.asList(f.getAnnotations:_*));
|
||||
|
||||
} );
|
||||
println();
|
||||
cl.getDeclaredMethods.foreach( m => {
|
||||
println(m.getName);
|
||||
println(" " + java.util.Arrays.asList(m.getReturnType.getAnnotations:_*));
|
||||
} );
|
||||
println();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Entity
|
||||
class U( @BeanProperty @Id var id: Integer,
|
||||
@BeanProperty var userName: String,
|
||||
@BeanProperty @ManyToOne var department: Department)
|
||||
|
||||
@Entity
|
||||
class D(
|
||||
|
||||
@BeanProperty
|
||||
@Id
|
||||
var id: Integer,
|
||||
|
||||
@BeanProperty
|
||||
var name: String,
|
||||
|
||||
@ManyToOne
|
||||
@BeanProperty
|
||||
var company: C
|
||||
)
|
||||
|
||||
@Entity
|
||||
class C (
|
||||
|
||||
@BeanProperty
|
||||
@Id
|
||||
var id : Integer,
|
||||
|
||||
@BeanProperty
|
||||
var name: String,
|
||||
|
||||
@BeanProperty
|
||||
@OneToMany(mappedBy="company")
|
||||
var departments: java.util.Set[D]
|
||||
|
||||
|
||||
)
|
||||
@ -64,6 +64,12 @@ class JPAIntegrationTest {
|
||||
assertEquals(2, query from department count);
|
||||
assertEquals(1, query from company count);
|
||||
|
||||
entityManager.flush();
|
||||
|
||||
assertEquals(2, query from user list user size);
|
||||
assertEquals(2, query from department list user size);
|
||||
assertEquals(1, query from company list user size);
|
||||
|
||||
assertEquals("Bob", query from user where (user.userName $eq "Bob") uniqueResult user.userName);
|
||||
assertEquals("Bob", query from user where (user.userName $like "Bo%") uniqueResult user.userName);
|
||||
assertEquals("Ann", query from user where (user.department.name $eq "Sales") uniqueResult user.userName);
|
||||
@ -74,23 +80,23 @@ class JPAIntegrationTest {
|
||||
}
|
||||
|
||||
@Entity
|
||||
class User(@BeanProperty @Id val id: Integer,
|
||||
@BeanProperty val userName: String,
|
||||
@BeanProperty @ManyToOne val department: Department)
|
||||
class User(@BeanProperty @Id var id: Integer,
|
||||
@BeanProperty var userName: String,
|
||||
@BeanProperty @ManyToOne var department: Department)
|
||||
|
||||
@Entity
|
||||
class Department(
|
||||
|
||||
@BeanProperty
|
||||
@Id
|
||||
val id: Integer,
|
||||
var id: Integer,
|
||||
|
||||
@BeanProperty
|
||||
val name: String,
|
||||
var name: String,
|
||||
|
||||
@ManyToOne
|
||||
@BeanProperty
|
||||
val company: Company
|
||||
var company: Company
|
||||
)
|
||||
|
||||
@Entity
|
||||
@ -98,14 +104,14 @@ class Company (
|
||||
|
||||
@BeanProperty
|
||||
@Id
|
||||
val id : Integer,
|
||||
var id : Integer,
|
||||
|
||||
@BeanProperty
|
||||
val name: String,
|
||||
var name: String,
|
||||
|
||||
@BeanProperty
|
||||
@OneToMany(mappedBy="company")
|
||||
val departments: java.util.Set[Department]
|
||||
var departments: java.util.Set[Department]
|
||||
|
||||
|
||||
)
|
||||
Loading…
Reference in New Issue
Block a user