diff --git a/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaBeanSerializer.scala b/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaBeanSerializer.scala index 3b94eadd2..fced15460 100644 --- a/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaBeanSerializer.scala +++ b/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaBeanSerializer.scala @@ -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, "_"); diff --git a/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaMetaDataSerializer.scala b/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaMetaDataSerializer.scala index fa6653960..d1b5bde36 100644 --- a/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaMetaDataSerializer.scala +++ b/querydsl-scala/src/main/scala/com/mysema/query/scala/sql/ScalaMetaDataSerializer.scala @@ -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); diff --git a/querydsl-scala/src/test/scala/com/mysema/query/scala/DumpClassTest.scala b/querydsl-scala/src/test/scala/com/mysema/query/scala/DumpClassTest.scala new file mode 100644 index 000000000..1de7e0584 --- /dev/null +++ b/querydsl-scala/src/test/scala/com/mysema/query/scala/DumpClassTest.scala @@ -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] + + +) \ No newline at end of file diff --git a/querydsl-scala/src/test/scala/com/mysema/query/scala/JPAIntegrationTest.scala b/querydsl-scala/src/test/scala/com/mysema/query/scala/JPAIntegrationTest.scala index 501789958..a50b07fd4 100644 --- a/querydsl-scala/src/test/scala/com/mysema/query/scala/JPAIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/mysema/query/scala/JPAIntegrationTest.scala @@ -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] ) \ No newline at end of file