Mapping Customer Class to Customer's Table

Develop RESTful Java Web Services Using Spring Boot Get Started with REST and Spring Boot
5 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€48.05
List Price:  €67.28
You save:  €19.22
£39.95
List Price:  £55.93
You save:  £15.98
CA$70
List Price:  CA$98.01
You save:  CA$28
A$77.04
List Price:  A$107.87
You save:  A$30.82
S$67.44
List Price:  S$94.42
You save:  S$26.98
HK$389.10
List Price:  HK$544.78
You save:  HK$155.67
CHF 44.44
List Price:  CHF 62.22
You save:  CHF 17.78
NOK kr556.72
List Price:  NOK kr779.46
You save:  NOK kr222.73
DKK kr358.40
List Price:  DKK kr501.79
You save:  DKK kr143.39
NZ$85.70
List Price:  NZ$119.98
You save:  NZ$34.28
د.إ183.61
List Price:  د.إ257.07
You save:  د.إ73.45
৳6,001.50
List Price:  ৳8,402.58
You save:  ৳2,401.08
₹4,222.56
List Price:  ₹5,911.93
You save:  ₹1,689.36
RM223.33
List Price:  RM312.68
You save:  RM89.35
₦84,537.08
List Price:  ₦118,358.68
You save:  ₦33,821.60
₨13,893.48
List Price:  ₨19,451.98
You save:  ₨5,558.50
฿1,729.40
List Price:  ฿2,421.30
You save:  ฿691.90
₺1,728.30
List Price:  ₺2,419.75
You save:  ₺691.45
B$290.56
List Price:  B$406.81
You save:  B$116.24
R904.38
List Price:  R1,266.21
You save:  R361.82
Лв93.87
List Price:  Лв131.43
You save:  Лв37.55
₩70,321.20
List Price:  ₩98,455.31
You save:  ₩28,134.10
₪186.14
List Price:  ₪260.61
You save:  ₪74.47
₱2,946.86
List Price:  ₱4,125.84
You save:  ₱1,178.98
¥7,723.73
List Price:  ¥10,813.84
You save:  ¥3,090.11
MX$1,023.24
List Price:  MX$1,432.62
You save:  MX$409.38
QR183.09
List Price:  QR256.35
You save:  QR73.25
P685.61
List Price:  P959.91
You save:  P274.30
KSh6,473.70
List Price:  KSh9,063.70
You save:  KSh2,590
E£2,483.19
List Price:  E£3,476.67
You save:  E£993.47
ብር6,258.40
List Price:  ብር8,762.26
You save:  ብር2,503.86
Kz45,623.90
List Price:  Kz63,877.12
You save:  Kz18,253.21
CLP$48,677.26
List Price:  CLP$68,152.06
You save:  CLP$19,474.80
CN¥362.39
List Price:  CN¥507.37
You save:  CN¥144.98
RD$3,026.05
List Price:  RD$4,236.71
You save:  RD$1,210.66
DA6,682.11
List Price:  DA9,355.50
You save:  DA2,673.38
FJ$113.79
List Price:  FJ$159.32
You save:  FJ$45.52
Q387.67
List Price:  Q542.77
You save:  Q155.10
GY$10,507.02
List Price:  GY$14,710.67
You save:  GY$4,203.65
ISK kr6,982.10
List Price:  ISK kr9,775.50
You save:  ISK kr2,793.40
DH502.26
List Price:  DH703.21
You save:  DH200.94
L911.81
List Price:  L1,276.61
You save:  L364.79
ден2,937.49
List Price:  ден4,112.73
You save:  ден1,175.23
MOP$402.62
List Price:  MOP$563.70
You save:  MOP$161.08
N$908.73
List Price:  N$1,272.29
You save:  N$363.56
C$1,838.13
List Price:  C$2,573.53
You save:  C$735.40
रु6,757.51
List Price:  रु9,461.06
You save:  रु2,703.54
S/190.76
List Price:  S/267.08
You save:  S/76.32
K202.16
List Price:  K283.05
You save:  K80.88
SAR187.70
List Price:  SAR262.80
You save:  SAR75.09
ZK1,384.85
List Price:  ZK1,938.90
You save:  ZK554.05
L239.10
List Price:  L334.76
You save:  L95.66
Kč1,219.85
List Price:  Kč1,707.89
You save:  Kč488.04
Ft19,758.62
List Price:  Ft27,663.65
You save:  Ft7,905.03
SEK kr556.42
List Price:  SEK kr779.03
You save:  SEK kr222.61
ARS$50,191.65
List Price:  ARS$70,272.32
You save:  ARS$20,080.67
Bs347
List Price:  Bs485.83
You save:  Bs138.82
COP$221,888.26
List Price:  COP$310,661.31
You save:  COP$88,773.05
₡25,529.79
List Price:  ₡35,743.76
You save:  ₡10,213.96
L1,269.10
List Price:  L1,776.85
You save:  L507.74
₲394,167.14
List Price:  ₲551,865.53
You save:  ₲157,698.39
$U2,140.09
List Price:  $U2,996.30
You save:  $U856.20
zł208.79
List Price:  zł292.33
You save:  zł83.53
Already have an account? Log In

Transcript

Now that we have customers data, let's map our customer class that we wrote earlier to this particular table. Now for this, we need a few more dependencies. First, let me stop the server if it is running, because every time I make some changes, the server keeps restarting. And sometimes it becomes annoying. So let's go back to start.spring.io. Close this POM dot XML, and we want to add this time JPA spring data JPA provides a persistence mechanism to our application.

So let's click on that get the new version of the palm d'Or XML. Copy that to the clipboard. Let's go here, replace our current POM dot XML with a new one. And as soon as I do that, newer dependencies have been added to my project. And the first thing that I want to do is to specify information about the DB and that I can do better Going to the application dot properties, add a couple of JPA related information. Number one is what is the driver class that we want to use.

So this is done by giving spring dot data source dot driver class name equals to our dot hits two dot driver is the value for the same next spring dot data source dot URL, you might get the value for this URL from our h2 client. Let's first disconnect and then copy this one and then paste over here. Similarly, I also want to give username equals to say password equals to blank so do not give any additional space. But along with this, you also have to give one more thing which is spring dot JPA dot hibernate dot DDL dash auto non. Now if you are familiar with hibernate, you know that there is something called HBM to DDL auto, where hibernate automatically creates the tables corresponding to the customer dot java that I have written to say that we already have a table and the data corresponding to the customer dot java we say that hibernate should not manufacture the new table in the backend.

Otherwise, your data along with the table will be deleted and newly constructed. So, let's save this and go back to customer dot java. In the customer or Java we have to say that this particular class corresponds to the customer stable. There are two annotations for doing this number one is at the rate entity. And this comes from Java x dot persistence package. This is required because JPA which is Java Persistence API will only consider classes that are marked with a direct entity.

Now since the table name is different than the class name, we may have to specify that exclusively by typing at the rate table name equals to customers. Once again, import the same thing from Java x dot persistence package. Though this is not case sensitive, it is a good practice to follow either lowercase or uppercase for the table names. One other thing that you may want to mention here that the ID is the primary key among the others. So I can say here at the rate ID, as well as if you want to say that this is automatically generated by a back end, we'll say at the rate generated value. Strategy equals to identity.

This is applicable for any column in the back end where auto underscore increment has been given. Now in case if you have not given autonomy called increment but still want hibernate to automatically increment this, then you can say a generator equals to increment. In this case, hibernate will automatically increment the value from the application rather than from the server. So since in our case we are given ID as auto underscore increment, I can roll back to strategy equals to generation type dot identity. The other values for this could be something like sequence sequence is applicable for Oracle or you can also specify that it is table. So where a specific table would be created, representing only primary key values, or you can let it go automatically by choosing auto here.

Now, in my case, I'm going to specify identity. If any of the columns or have different names than their respective field names, you may also want to annotate that by at the rate column. So in my case, All of them have the exact same name as the back end table columns. So I don't have to do that.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.