mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-30 21:08:30 +08:00
#809817 : fixed property handling
This commit is contained in:
parent
f7c328c649
commit
5861fbfe98
@ -177,6 +177,14 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<argLine>-Xss2m</argLine>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
||||
@ -56,7 +56,7 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS
|
||||
val fieldName = namingStrategy.getPropertyNameForPrimaryKey(primaryKey.getName(), model)
|
||||
val value = new StringBuilder("createPrimaryKey(")
|
||||
value.append(primaryKey.getColumns().map({ column =>
|
||||
namingStrategy.getPropertyName(column, model)
|
||||
escape(namingStrategy.getPropertyName(column, model))
|
||||
}).mkString(", "))
|
||||
value.append(")")
|
||||
writer.publicFinal(new ClassType(classOf[PrimaryKey[_]], model), fieldName, value.toString)
|
||||
@ -89,7 +89,7 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS
|
||||
local.append(", ")
|
||||
foreign.append(", ")
|
||||
}
|
||||
local.append(namingStrategy.getPropertyName(foreignKey.getForeignColumns().get(0), model))
|
||||
local.append(escape(namingStrategy.getPropertyName(foreignKey.getForeignColumns().get(0), model)))
|
||||
foreign.append("\"" + foreignKey.getParentColumns.get(0) + "\"")
|
||||
i += 1
|
||||
}
|
||||
|
||||
@ -42,4 +42,12 @@ trait CompileTestUtils {
|
||||
interpreter.close
|
||||
}
|
||||
}
|
||||
|
||||
def recursiveFileList(file: File): Array[File] = {
|
||||
if (file.isDirectory) {
|
||||
file.listFiles.flatMap(recursiveFileList(_))
|
||||
} else {
|
||||
Array(file)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -102,14 +102,6 @@ class JDBCIntegrationTest extends CompileTestUtils {
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
private def recursiveFileList(file: File): Array[File] = {
|
||||
if (file.isDirectory) {
|
||||
file.listFiles.flatMap(recursiveFileList(_))
|
||||
} else {
|
||||
Array(file)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
def Populate_Bean {
|
||||
assertEquals(2, query from (survey) list (survey) size ())
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
package com.mysema.query.scala.sql
|
||||
|
||||
import org.apache.commons.lang.StringUtils
|
||||
import com.mysema.codegen._;
|
||||
import com.mysema.codegen.model._;
|
||||
|
||||
import com.mysema.query.codegen._;
|
||||
import com.mysema.query.sql._
|
||||
|
||||
import java.io.StringWriter;
|
||||
|
||||
import org.junit._
|
||||
import org.junit.Assert._
|
||||
|
||||
import scala.collection.JavaConversions._
|
||||
|
||||
import com.mysema.query.scala._
|
||||
|
||||
class MetaDataExporterTest extends CompileTestUtils {
|
||||
|
||||
var connection: java.sql.Connection = _;
|
||||
|
||||
@Before
|
||||
def setUp() {
|
||||
Class.forName("org.h2.Driver");
|
||||
val url = "jdbc:h2:mem:testdb" + System.currentTimeMillis();
|
||||
connection = java.sql.DriverManager.getConnection(url, "sa", "");
|
||||
|
||||
val stmt = connection.createStatement();
|
||||
|
||||
try{
|
||||
stmt.execute("create table reserved (id int, while int)");
|
||||
stmt.execute("create table underscore (e_id int, c_id int)");
|
||||
stmt.execute("create table beangen1 (\"SEP_Order\" int)");
|
||||
stmt.execute("create table definstance (id int, definstance int, definstance1 int)");
|
||||
stmt.execute("create table pkfk (id int primary key, pk int, fk int)");
|
||||
stmt.execute("create table \"camelCase\" (id int)");
|
||||
stmt.execute("create table \"vwServiceName\" (id int)");
|
||||
stmt.execute("create table date_test (d date)");
|
||||
stmt.execute("create table date_time_test (dt datetime)");
|
||||
stmt.execute("create table survey (id int, name varchar(30))");
|
||||
stmt.execute("create table typetest (type int, constraint pk_typetest primary key(type))");
|
||||
|
||||
stmt.execute("""create table employee(
|
||||
id INT, firstname VARCHAR(50), lastname VARCHAR(50), salary DECIMAL(10, 2),
|
||||
datefield DATE, timefield TIME,
|
||||
superior_id int, survey_id int, survey_name varchar(30),
|
||||
CONSTRAINT PK_employee PRIMARY KEY (id),
|
||||
CONSTRAINT FK_superior FOREIGN KEY (superior_id) REFERENCES employee(id))""");
|
||||
|
||||
// multi key
|
||||
stmt.execute("create table multikey(id INT, id2 VARCHAR, id3 INT, CONSTRAINT pk_multikey PRIMARY KEY (id, id2, id3) )");
|
||||
} finally {
|
||||
stmt.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
def GenerateWithoutBeanTypes() {
|
||||
val directory = new java.io.File("target/jdbcgen1");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.mysema");
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
}
|
||||
|
||||
@Test
|
||||
def GenerateWithBeanTypes() {
|
||||
val directory = new java.io.File("target/jdbcgen2");
|
||||
val namingStrategy = new DefaultNamingStrategy();
|
||||
val beanSerializer = new ScalaBeanSerializer();
|
||||
val exporter = new MetaDataExporter();
|
||||
exporter.setNamePrefix("Q");
|
||||
exporter.setPackageName("com.mysema");
|
||||
exporter.setTargetFolder(directory);
|
||||
exporter.setSerializerClass(classOf[ScalaMetaDataSerializer]);
|
||||
exporter.setBeanSerializer(beanSerializer)
|
||||
exporter.setCreateScalaSources(true);
|
||||
exporter.setTypeMappings(ScalaTypeMappings.create);
|
||||
exporter.export(connection.getMetaData);
|
||||
|
||||
assertCompileSuccess(recursiveFileList(directory))
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user