Skip to content

Commit 1b8217c

Browse files
make order an active record class as well + javadoc (iluwatar#79)
1 parent ad80931 commit 1b8217c

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed
Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.iluwatar.activerecord;
22

3+
import java.sql.PreparedStatement;
4+
import java.sql.ResultSet;
5+
import java.sql.SQLException;
36
import lombok.AllArgsConstructor;
4-
import lombok.EqualsAndHashCode;
57
import lombok.Getter;
68
import lombok.NoArgsConstructor;
79
import lombok.Setter;
@@ -11,11 +13,26 @@
1113
*/
1214
@Getter
1315
@Setter
14-
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
1516
@NoArgsConstructor
1617
@AllArgsConstructor
17-
public class Order {
18+
public class Order extends RecordBase<Order> {
1819

1920
private Long id;
2021
private String orderNumber;
22+
23+
@Override
24+
protected String getTableName() {
25+
return "order";
26+
}
27+
28+
@Override
29+
protected void setFieldsFromResultSet(ResultSet rs) throws SQLException {
30+
this.id = rs.getLong("id");
31+
this.orderNumber = rs.getString("order_number");
32+
}
33+
34+
@Override
35+
protected void setPreparedStatementParams(PreparedStatement pstmt) throws SQLException {
36+
// TODO
37+
}
2138
}

active-record/src/main/java/com/iluwatar/activerecord/RecordBase.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
/**
1515
* An active record base supposed to hold all the necessary active record pattern logic.
16+
* <p>
17+
* This is the base class which is supposed to be extended by all the domain models that are
18+
* expected to be persistent.
1619
*
1720
* @param <T> an active record type.
1821
*/

0 commit comments

Comments
 (0)