diff --git a/pom.xml b/pom.xml
index e54f621..eca2051 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
io.ebean
ebean
- 12.1.8
+ 12.1.9-SNAPSHOT
@@ -41,6 +41,12 @@
provided
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 7.4.1.jre11
+
+
diff --git a/src/main/java/org/example/domain/AddressData.java b/src/main/java/org/example/domain/AddressData.java
new file mode 100644
index 0000000..d625985
--- /dev/null
+++ b/src/main/java/org/example/domain/AddressData.java
@@ -0,0 +1,37 @@
+package org.example.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "Addresses")//, schema = "dev")
+public class AddressData extends BaseModel {
+ @Id
+ //@GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "AddressID")
+ private Long id;
+
+ @Column(name = "Name", length = 50, nullable = false)
+ private String name;
+
+ @Column(name = "Address1", length = 75)
+ private String address1;
+
+ @Column(name = "Address2", length = 75)
+ private String address2;
+
+ @Column(name = "City", length = 50)
+ private String city;
+
+ @Column(name = "State", length = 50)
+ private String state;
+
+ @Column(name = "Zip", length = 50)
+ private String zipCode;
+
+ @Column(name = "Country", length = 50)
+ private String country;
+
+}
diff --git a/src/main/java/org/example/domain/BaseModel.java b/src/main/java/org/example/domain/BaseModel.java
new file mode 100644
index 0000000..95f41f8
--- /dev/null
+++ b/src/main/java/org/example/domain/BaseModel.java
@@ -0,0 +1,14 @@
+package org.example.domain;
+
+import io.ebean.Model;
+
+import javax.persistence.MappedSuperclass;
+
+@MappedSuperclass
+public class BaseModel extends Model {
+
+// SELF save() {
+// super.save();
+// return this;
+// }
+}
diff --git a/src/main/java/org/example/domain/Labs.java b/src/main/java/org/example/domain/Labs.java
new file mode 100644
index 0000000..f50b7a0
--- /dev/null
+++ b/src/main/java/org/example/domain/Labs.java
@@ -0,0 +1,28 @@
+package org.example.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "Labs")//, schema = "dev")
+public class Labs extends BaseModel {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "LabID")
+ private Integer id;
+
+ @Column(name = "Name", length = 50, nullable = false)
+ private String name;
+
+ @ManyToOne //(optional = true, targetEntity = AddressData.class, fetch = FetchType.EAGER)
+ @JoinColumn(name = "AddressID", insertable = false)
+ private AddressData address;
+
+}
diff --git a/src/test/java/org/example/domain/QuotedIdentifiersFkTest.java b/src/test/java/org/example/domain/QuotedIdentifiersFkTest.java
new file mode 100644
index 0000000..99dc941
--- /dev/null
+++ b/src/test/java/org/example/domain/QuotedIdentifiersFkTest.java
@@ -0,0 +1,19 @@
+package org.example.domain;
+
+import io.ebean.Query;
+import org.example.domain.query.QLabs;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class QuotedIdentifiersFkTest {
+
+ @Test
+ public void test() {
+
+ final Query query = new QLabs().query();
+ query.findList();
+
+ assertThat(query.getGeneratedSql()).contains("select t0.[LabID], t0.[Name], t0.[AddressID] from [Labs] t0");
+ }
+}
diff --git a/src/test/resources/application-test.yaml b/src/test/resources/application-test.yaml
index 49adf3b..04fdf1c 100644
--- a/src/test/resources/application-test.yaml
+++ b/src/test/resources/application-test.yaml
@@ -1,7 +1,10 @@
ebean:
+ dbSchema: dev
+ allQuotedIdentifiers: true
+ databasePlatformName: sqlserver17 ## only using sql server
test:
# useDocker: false
# shutdown: stop # stop | remove
- platform: h2 # h2, postgres, mysql, oracle, sqlserver, sqlite
+ platform: sqlserver # h2, postgres, mysql, oracle, sqlserver, sqlite
ddlMode: dropCreate # none | dropCreate | create | migration | createOnly | migrationDropCreate
dbName: myapp