diff --git a/database/starters/oracle-spring-boot-json-data-tools/pom.xml b/database/starters/oracle-spring-boot-json-data-tools/pom.xml
index cce491da..18a32b13 100644
--- a/database/starters/oracle-spring-boot-json-data-tools/pom.xml
+++ b/database/starters/oracle-spring-boot-json-data-tools/pom.xml
@@ -121,11 +121,5 @@
spring-boot-starter-data-jdbc
test
-
-
- org.projectlombok
- lombok
- test
-
diff --git a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java
index 53ff2612..72bd3939 100644
--- a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java
+++ b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java
@@ -1,16 +1,10 @@
-// Copyright (c) 2024, Oracle and/or its affiliates.
+// Copyright (c) 2024, 2025, Oracle and/or its affiliates.
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
package com.oracle.spring.json.test;
+import java.util.Objects;
import java.util.UUID;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
public class Student {
String id;
String name;
@@ -19,4 +13,51 @@ public class Student {
public static String newId() {
return UUID.randomUUID().toString();
}
+
+ public Student() {}
+
+ public Student(String id, String name, StudentDetails details) {
+ this.id = id;
+ this.name = name;
+ this.details = details;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public StudentDetails getDetails() {
+ return details;
+ }
+
+ public void setDetails(StudentDetails details) {
+ this.details = details;
+ }
+
+ @Override
+ public final boolean equals(Object o) {
+ if (!(o instanceof Student student)) return false;
+
+ return Objects.equals(getId(), student.getId()) && Objects.equals(getName(), student.getName()) && Objects.equals(getDetails(), student.getDetails());
+ }
+
+ @Override
+ public int hashCode() {
+ int result = Objects.hashCode(getId());
+ result = 31 * result + Objects.hashCode(getName());
+ result = 31 * result + Objects.hashCode(getDetails());
+ return result;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java
index 546aaaff..59bec469 100644
--- a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java
+++ b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java
@@ -1,16 +1,58 @@
-// Copyright (c) 2024, Oracle and/or its affiliates.
+// Copyright (c) 2024, 2025, Oracle and/or its affiliates.
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
package com.oracle.spring.json.test;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import java.util.Objects;
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
public class StudentDetails {
String major;
double gpa;
double credits;
+
+ public StudentDetails() {}
+
+ public StudentDetails(String major, double gpa, double credits) {
+ this.major = major;
+ this.gpa = gpa;
+ this.credits = credits;
+ }
+
+ public String getMajor() {
+ return major;
+ }
+
+ public void setMajor(String major) {
+ this.major = major;
+ }
+
+ public double getGpa() {
+ return gpa;
+ }
+
+ public void setGpa(double gpa) {
+ this.gpa = gpa;
+ }
+
+ public double getCredits() {
+ return credits;
+ }
+
+ public void setCredits(double credits) {
+ this.credits = credits;
+ }
+
+ @Override
+ public final boolean equals(Object o) {
+ if (!(o instanceof StudentDetails that)) return false;
+
+ return Double.compare(getGpa(), that.getGpa()) == 0 && Double.compare(getCredits(), that.getCredits()) == 0 && Objects.equals(getMajor(), that.getMajor());
+ }
+
+ @Override
+ public int hashCode() {
+ int result = Objects.hashCode(getMajor());
+ result = 31 * result + Double.hashCode(getGpa());
+ result = 31 * result + Double.hashCode(getCredits());
+ return result;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml b/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml
index 19ee3e68..e6e78248 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml
@@ -88,11 +88,5 @@
spring-boot-testcontainers
test
-
-
- org.projectlombok
- lombok
- test
-
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java
index 1b3213eb..da758bff 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java
@@ -13,8 +13,6 @@
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@@ -24,8 +22,6 @@
insert = true,
update = true
))
-@Getter
-@Setter
public class Book {
@Id
@@ -50,4 +46,20 @@ public int hashCode() {
result = 31 * result + Objects.hashCode(title);
return result;
}
+
+ public Long getBookId() {
+ return bookId;
+ }
+
+ public void setBookId(Long bookId) {
+ this.bookId = bookId;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
}
\ No newline at end of file
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java
index 8dca9076..bb75c13c 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java
@@ -17,15 +17,11 @@
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@Entity
@Table(name = "loans")
-@Getter
-@Setter
@JsonRelationalDualityView(name = "loan_dv", accessMode = @AccessMode(
insert = true,
update = true
@@ -62,4 +58,28 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(getLoanId());
}
+
+ public Long getLoanId() {
+ return loanId;
+ }
+
+ public void setLoanId(Long loanId) {
+ this.loanId = loanId;
+ }
+
+ public Member getMember() {
+ return member;
+ }
+
+ public void setMember(Member member) {
+ this.member = member;
+ }
+
+ public Book getBook() {
+ return book;
+ }
+
+ public void setBook(Book book) {
+ this.book = book;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java
index 7ae50eed..7d344a7b 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java
@@ -15,8 +15,6 @@
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@@ -27,8 +25,6 @@
update = true,
delete = true
))
-@Getter
-@Setter
public class Member {
@Id
@@ -46,4 +42,28 @@ public class Member {
))
@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List loans;
+
+ public Long getMemberId() {
+ return memberId;
+ }
+
+ public void setMemberId(Long memberId) {
+ this.memberId = memberId;
+ }
+
+ public String getFullName() {
+ return fullName;
+ }
+
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
+
+ public List getLoans() {
+ return loans;
+ }
+
+ public void setLoans(List loans) {
+ this.loans = loans;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java
index 421b23d8..6917036c 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java
@@ -17,8 +17,6 @@
import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@@ -29,8 +27,6 @@
update = true,
delete = true
))
-@Getter
-@Setter
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -67,4 +63,36 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(getId());
}
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Employee getManager() {
+ return manager;
+ }
+
+ public void setManager(Employee manager) {
+ this.manager = manager;
+ }
+
+ public List getReports() {
+ return reports;
+ }
+
+ public void setReports(List reports) {
+ this.reports = reports;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java
index b9324593..30a44436 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java
@@ -2,12 +2,23 @@
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
package com.oracle.spring.json.duality.model.employee;
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
public class SimpleEmployee {
private Long _id;
private String name;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Long get_id() {
+ return _id;
+ }
+
+ public void set_id(Long _id) {
+ this._id = _id;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java
index 33ef62ec..e9cc71d6 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java
@@ -15,15 +15,11 @@
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@Entity
@Table(name = "actor")
-@Getter
-@Setter
@JsonRelationalDualityView(accessMode = @AccessMode(insert = true))
public class Actor {
@JsonbProperty(_ID_FIELD)
@@ -64,4 +60,36 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(getActorId());
}
+
+ public String getActorId() {
+ return actorId;
+ }
+
+ public void setActorId(String actorId) {
+ this.actorId = actorId;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public Set getMovies() {
+ return movies;
+ }
+
+ public void setMovies(Set movies) {
+ this.movies = movies;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java
index 9f00169b..ca146f41 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java
@@ -16,15 +16,11 @@
import jakarta.persistence.OneToOne;
import jakarta.persistence.PrimaryKeyJoinColumn;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@Entity
@Table(name = "director")
-@Getter
-@Setter
public class Director {
@JsonbProperty(_ID_FIELD)
@Id
@@ -70,4 +66,40 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(getDirectorId());
}
+
+ public String getDirectorId() {
+ return directorId;
+ }
+
+ public void setDirectorId(String directorId) {
+ this.directorId = directorId;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public Set getMovies() {
+ return movies;
+ }
+
+ public void setMovies(Set movies) {
+ this.movies = movies;
+ }
+
+ public DirectorBio getDirectorBio() {
+ return directorBio;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java
index 38ac1757..66ca1530 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java
@@ -15,15 +15,11 @@
import jakarta.persistence.MapsId;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@Entity
@Table(name = "director_bio")
-@Getter
-@Setter
public class DirectorBio {
@JsonbProperty(_ID_FIELD)
@Id
@@ -50,4 +46,28 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(getDirectorId());
}
+
+ public String getDirectorId() {
+ return directorId;
+ }
+
+ public void setDirectorId(String directorId) {
+ this.directorId = directorId;
+ }
+
+ public Director getDirector() {
+ return director;
+ }
+
+ public void setDirector(Director director) {
+ this.director = director;
+ }
+
+ public String getBiography() {
+ return biography;
+ }
+
+ public void setBiography(String biography) {
+ this.biography = biography;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java
index 9148ec1a..c92f2c77 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java
@@ -18,13 +18,9 @@
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
@Entity
@Table(name = "movie")
-@Getter
-@Setter
@JsonRelationalDualityView(name = "movie_dv", accessMode = @AccessMode(
insert = true
))
@@ -69,4 +65,52 @@ public final boolean equals(Object o) {
public int hashCode() {
return Objects.hashCode(movieId);
}
+
+ public String getMovieId() {
+ return movieId;
+ }
+
+ public void setMovieId(String movieId) {
+ this.movieId = movieId;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Integer getReleaseYear() {
+ return releaseYear;
+ }
+
+ public void setReleaseYear(Integer releaseYear) {
+ this.releaseYear = releaseYear;
+ }
+
+ public String getGenre() {
+ return genre;
+ }
+
+ public void setGenre(String genre) {
+ this.genre = genre;
+ }
+
+ public Director getDirector() {
+ return director;
+ }
+
+ public void setDirector(Director director) {
+ this.director = director;
+ }
+
+ public Set getActors() {
+ return actors;
+ }
+
+ public void setActors(Set actors) {
+ this.actors = actors;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java
index 950082c2..9e7c169e 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java
@@ -8,16 +8,12 @@
import jakarta.json.bind.annotation.JsonbProperty;
import jakarta.persistence.Column;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import java.util.Date;
import java.util.Objects;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
-@Getter
-@Setter
@JsonRelationalDualityView(accessMode = @AccessMode(insert = true))
@Table(name = "orders")
public class Order {
@@ -45,4 +41,36 @@ public int hashCode() {
result = 31 * result + Objects.hashCode(getOrderDate());
return result;
}
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Product getProduct() {
+ return product;
+ }
+
+ public void setProduct(Product product) {
+ this.product = product;
+ }
+
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+
+ public Date getOrderDate() {
+ return orderDate;
+ }
+
+ public void setOrderDate(Date orderDate) {
+ this.orderDate = orderDate;
+ }
}
\ No newline at end of file
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java
index 51d3b6e4..b7efe787 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java
@@ -10,13 +10,9 @@
import jakarta.json.bind.annotation.JsonbProperty;
import jakarta.persistence.Column;
import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
-@Getter
-@Setter
@Table(name = "products")
@JsonRelationalDualityView(
name = "product_dv",
@@ -43,4 +39,28 @@ public int hashCode() {
result = 31 * result + Objects.hashCode(getPrice());
return result;
}
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Double getPrice() {
+ return price;
+ }
+
+ public void setPrice(Double price) {
+ this.price = price;
+ }
}
diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java
index 20f235f6..2e0b067e 100644
--- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java
+++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java
@@ -3,6 +3,8 @@
package com.oracle.spring.json.duality.model.student;
+import java.util.Objects;
+
import com.oracle.spring.json.duality.annotation.JsonRelationalDualityView;
import com.oracle.spring.json.duality.annotation.AccessMode;
import jakarta.json.bind.annotation.JsonbProperty;
@@ -12,9 +14,6 @@
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.Setter;
import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD;
@@ -27,9 +26,6 @@
delete = true
)
)
-@EqualsAndHashCode
-@Getter
-@Setter
public class Student {
@JsonbProperty(_ID_FIELD)
@Id
@@ -45,4 +41,79 @@ public class Student {
private double gpa;
public Student() {}
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getMajor() {
+ return major;
+ }
+
+ public void setMajor(String major) {
+ this.major = major;
+ }
+
+ public double getCredits() {
+ return credits;
+ }
+
+ public void setCredits(double credits) {
+ this.credits = credits;
+ }
+
+ public double getGpa() {
+ return gpa;
+ }
+
+ public void setGpa(double gpa) {
+ this.gpa = gpa;
+ }
+
+ @Override
+ public final boolean equals(Object o) {
+ if (!(o instanceof Student student)) return false;
+
+ return Double.compare(getCredits(), student.getCredits()) == 0 && Double.compare(getGpa(), student.getGpa()) == 0 && Objects.equals(getId(), student.getId()) && Objects.equals(getFirstName(), student.getFirstName()) && Objects.equals(getLastName(), student.getLastName()) && Objects.equals(getEmail(), student.getEmail()) && Objects.equals(getMajor(), student.getMajor());
+ }
+
+ @Override
+ public int hashCode() {
+ int result = Objects.hashCode(getId());
+ result = 31 * result + Objects.hashCode(getFirstName());
+ result = 31 * result + Objects.hashCode(getLastName());
+ result = 31 * result + Objects.hashCode(getEmail());
+ result = 31 * result + Objects.hashCode(getMajor());
+ result = 31 * result + Double.hashCode(getCredits());
+ result = 31 * result + Double.hashCode(getGpa());
+ return result;
+ }
}
diff --git a/database/starters/pom.xml b/database/starters/pom.xml
index bda17076..3ba4ec0f 100644
--- a/database/starters/pom.xml
+++ b/database/starters/pom.xml
@@ -319,13 +319,6 @@
${spring-boot-dependencies.version}
test
-
-
- org.projectlombok
- lombok
- ${lombok.version}
- provided
-
diff --git a/spring-cloud-oci/pom.xml b/spring-cloud-oci/pom.xml
index 3f71e8e5..e741ca3e 100644
--- a/spring-cloud-oci/pom.xml
+++ b/spring-cloud-oci/pom.xml
@@ -91,7 +91,6 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or
3.5.3
2.6.0
3.14.0
- 1.18.34
6.1.0
1.6.0
1.11
@@ -142,12 +141,6 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or
commons-lang3
${commons-lang3.version}
-
- org.projectlombok
- lombok
- ${lombok.version}
- test
-
jakarta.servlet
jakarta.servlet-api
diff --git a/spring-cloud-oci/spring-cloud-oci-core/pom.xml b/spring-cloud-oci/spring-cloud-oci-core/pom.xml
index a7e740f2..cc9c0e84 100644
--- a/spring-cloud-oci/spring-cloud-oci-core/pom.xml
+++ b/spring-cloud-oci/spring-cloud-oci-core/pom.xml
@@ -80,9 +80,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or
com.fasterxml.jackson.core
jackson-core
-
- org.projectlombok
- lombok
-
diff --git a/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java b/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java
index efb05b3b..19f1e636 100644
--- a/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java
+++ b/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java
@@ -1,14 +1,10 @@
/*
- ** Copyright (c) 2023, Oracle and/or its affiliates.
+ ** Copyright (c) 2023, 2025, Oracle and/or its affiliates.
** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
*/
package com.oracle.cloud.spring.core.util;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.ToString;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.jupiter.api.Test;
@@ -29,13 +25,50 @@ void testObjectMapper() throws JSONException {
assertEquals(strToJson.getString("lastName"), inputJson.getLastName());
}
- @Getter
- @NoArgsConstructor
- @AllArgsConstructor
- @ToString
static final class TestJsonObject {
+ public TestJsonObject() {}
+
+ public TestJsonObject(int id, String firstName, String lastName) {
+ this.id = id;
+ this.firstName = firstName;
+ this.lastName = lastName;
+ }
+
private int id;
private String firstName;
private String lastName;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ @Override
+ public String toString() {
+ return "TestJsonObject{" +
+ "id=" + id +
+ ", firstName='" + firstName + '\'' +
+ ", lastName='" + lastName + '\'' +
+ '}';
+ }
}
}
diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml b/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml
index 262c5e3c..b9b82e18 100644
--- a/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml
+++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml
@@ -59,10 +59,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or
com.oracle.oci.sdk
oci-java-sdk-generativeaiinference
-
- org.projectlombok
- lombok
- provided
-
diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java
index 13e4250c..16776dbd 100644
--- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java
+++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java
@@ -1,5 +1,5 @@
/*
- ** Copyright (c) 2024, Oracle and/or its affiliates.
+ ** Copyright (c) 2024, 2025, Oracle and/or its affiliates.
** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
*/
@@ -27,7 +27,6 @@
import com.oracle.bmc.generativeaiinference.model.UserMessage;
import com.oracle.bmc.generativeaiinference.requests.ChatRequest;
import com.oracle.bmc.generativeaiinference.responses.ChatResponse;
-import lombok.Builder;
import org.springframework.util.Assert;
/**
@@ -48,7 +47,97 @@ public class ChatModelImpl implements ChatModel {
private List cohereChatMessages;
private List genericChatMessages;
- @Builder
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private GenerativeAiInference client;
+ private ServingMode servingMode;
+ private String compartment;
+ private String preambleOverride;
+ private Double temperature;
+ private Double frequencyPenalty;
+ private Integer maxTokens;
+ private Double presencePenalty;
+ private Double topP;
+ private Integer topK;
+ private InferenceRequestType inferenceRequestType;
+
+ public Builder client(GenerativeAiInference client) {
+ this.client = client;
+ return this;
+ }
+
+ public Builder servingMode(ServingMode servingMode) {
+ this.servingMode = servingMode;
+ return this;
+ }
+
+ public Builder compartment(String compartment) {
+ this.compartment = compartment;
+ return this;
+ }
+
+ public Builder preambleOverride(String preambleOverride) {
+ this.preambleOverride = preambleOverride;
+ return this;
+ }
+
+ public Builder temperature(Double temperature) {
+ this.temperature = temperature;
+ return this;
+ }
+
+ public Builder frequencyPenalty(Double frequencyPenalty) {
+ this.frequencyPenalty = frequencyPenalty;
+ return this;
+ }
+
+ public Builder maxTokens(Integer maxTokens) {
+ this.maxTokens = maxTokens;
+ return this;
+ }
+
+ public Builder presencePenalty(Double presencePenalty) {
+ this.presencePenalty = presencePenalty;
+ return this;
+ }
+
+ public Builder topP(Double topP) {
+ this.topP = topP;
+ return this;
+ }
+
+ public Builder topK(Integer topK) {
+ this.topK = topK;
+ return this;
+ }
+
+ public Builder inferenceRequestType(InferenceRequestType inferenceRequestType) {
+ this.inferenceRequestType = inferenceRequestType;
+ return this;
+ }
+
+ public ChatModelImpl build() {
+ return new ChatModelImpl(this);
+ }
+ }
+
+ public ChatModelImpl(Builder builder) {
+ this(builder.client,
+ builder.servingMode,
+ builder.compartment,
+ builder.preambleOverride,
+ builder.temperature,
+ builder.frequencyPenalty,
+ builder.maxTokens,
+ builder.presencePenalty,
+ builder.topP,
+ builder.topK,
+ builder.inferenceRequestType);
+ }
+
public ChatModelImpl(GenerativeAiInference client,
ServingMode servingMode,
String compartment,
@@ -82,6 +171,8 @@ public ChatModelImpl(GenerativeAiInference client,
});
}
+
+
/**
* Chat using OCI GenAI.
* @param prompt Prompt text sent to OCI GenAI chat model.
diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java
index 48c1f266..e16f812d 100644
--- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java
+++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java
@@ -1,5 +1,5 @@
/*
- ** Copyright (c) 2024, Oracle and/or its affiliates.
+ ** Copyright (c) 2024, 2025, Oracle and/or its affiliates.
** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
*/
@@ -14,7 +14,6 @@
import com.oracle.bmc.generativeaiinference.model.ServingMode;
import com.oracle.bmc.generativeaiinference.requests.EmbedTextRequest;
import com.oracle.bmc.generativeaiinference.responses.EmbedTextResponse;
-import lombok.Builder;
import org.springframework.util.Assert;
/**
@@ -33,7 +32,45 @@ public class EmbeddingModelImpl implements EmbeddingModel {
private final EmbedTextDetails.Truncate truncate;
private final String compartment;
- @Builder
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private GenerativeAiInference client;
+ private ServingMode servingMode;
+ private EmbedTextDetails.Truncate truncate;
+ private String compartment;
+
+ public Builder client(GenerativeAiInference client) {
+ this.client = client;
+ return this;
+ }
+
+ public Builder servingMode(ServingMode servingMode) {
+ this.servingMode = servingMode;
+ return this;
+ }
+
+ public Builder truncate(EmbedTextDetails.Truncate truncate) {
+ this.truncate = truncate;
+ return this;
+ }
+
+ public Builder compartment(String compartment) {
+ this.compartment = compartment;
+ return this;
+ }
+
+ public EmbeddingModelImpl build() {
+ return new EmbeddingModelImpl(this);
+ }
+ }
+
+ private EmbeddingModelImpl(Builder builder) {
+ this(builder.client, builder.servingMode, builder.truncate, builder.compartment);
+ }
+
public EmbeddingModelImpl(GenerativeAiInference client, ServingMode servingMode, EmbedTextDetails.Truncate truncate, String compartment) {
Assert.notNull(client, "client must not be null");
Assert.notNull(servingMode, "servingMode must not be null");
diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java
index f44773cb..1b2ab0ed 100644
--- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java
+++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java
@@ -5,12 +5,9 @@
package com.oracle.cloud.spring.genai;
-import lombok.Getter;
-
/**
* Supported OCI Inference model request types.
*/
-@Getter
public enum InferenceRequestType {
COHERE("COHERE"),
LLAMA("LLAMA");
@@ -21,4 +18,7 @@ public enum InferenceRequestType {
this.type = type;
}
+ public String getType() {
+ return type;
+ }
}
diff --git a/spring-cloud-oci/spring-cloud-oci-vault/pom.xml b/spring-cloud-oci/spring-cloud-oci-vault/pom.xml
index 01da547a..4cfd616f 100644
--- a/spring-cloud-oci/spring-cloud-oci-vault/pom.xml
+++ b/spring-cloud-oci/spring-cloud-oci-vault/pom.xml
@@ -63,10 +63,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or
com.oracle.oci.sdk
oci-java-sdk-secrets
-
- org.projectlombok
- lombok
- provided
-