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
€46.53
List Price:  €65.14
You save:  €18.61
£39.80
List Price:  £55.73
You save:  £15.92
CA$68.29
List Price:  CA$95.61
You save:  CA$27.32
A$75.92
List Price:  A$106.30
You save:  A$30.37
S$67.59
List Price:  S$94.64
You save:  S$27.04
HK$390.62
List Price:  HK$546.91
You save:  HK$156.28
CHF 45.35
List Price:  CHF 63.50
You save:  CHF 18.14
NOK kr546.18
List Price:  NOK kr764.69
You save:  NOK kr218.51
DKK kr347.06
List Price:  DKK kr485.92
You save:  DKK kr138.85
NZ$83.56
List Price:  NZ$117
You save:  NZ$33.43
د.إ183.60
List Price:  د.إ257.06
You save:  د.إ73.45
৳5,472.53
List Price:  ৳7,661.98
You save:  ৳2,189.45
₹4,170.94
List Price:  ₹5,839.65
You save:  ₹1,668.71
RM236.95
List Price:  RM331.75
You save:  RM94.80
₦61,737.65
List Price:  ₦86,437.65
You save:  ₦24,700
₨13,922.21
List Price:  ₨19,492.21
You save:  ₨5,570
฿1,839.58
List Price:  ฿2,575.56
You save:  ฿735.98
₺1,615.93
List Price:  ₺2,262.43
You save:  ₺646.50
B$255.52
List Price:  B$357.76
You save:  B$102.23
R925.67
List Price:  R1,296.01
You save:  R370.34
Лв90.98
List Price:  Лв127.38
You save:  Лв36.40
₩67,934.14
List Price:  ₩95,113.23
You save:  ₩27,179.09
₪185.78
List Price:  ₪260.11
You save:  ₪74.32
₱2,856.70
List Price:  ₱3,999.61
You save:  ₱1,142.91
¥7,653.44
List Price:  ¥10,715.43
You save:  ¥3,061.99
MX$846.70
List Price:  MX$1,185.45
You save:  MX$338.74
QR181.98
List Price:  QR254.79
You save:  QR72.81
P682.59
List Price:  P955.69
You save:  P273.09
KSh6,733.65
List Price:  KSh9,427.65
You save:  KSh2,694
E£2,396.77
List Price:  E£3,355.67
You save:  E£958.90
ብር2,849.43
List Price:  ብር3,989.43
You save:  ብር1,140
Kz41,866.62
List Price:  Kz58,616.62
You save:  Kz16,750
CLP$47,373.02
List Price:  CLP$66,326.02
You save:  CLP$18,953
CN¥361.77
List Price:  CN¥506.51
You save:  CN¥144.74
RD$2,892.40
List Price:  RD$4,049.59
You save:  RD$1,157.19
DA6,728.32
List Price:  DA9,420.19
You save:  DA2,691.86
FJ$112.64
List Price:  FJ$157.70
You save:  FJ$45.06
Q387.56
List Price:  Q542.62
You save:  Q155.05
GY$10,437.32
List Price:  GY$14,613.08
You save:  GY$4,175.76
ISK kr6,994.10
List Price:  ISK kr9,792.30
You save:  ISK kr2,798.20
DH504.29
List Price:  DH706.05
You save:  DH201.75
L885.56
List Price:  L1,239.86
You save:  L354.29
ден2,864.78
List Price:  ден4,010.92
You save:  ден1,146.14
MOP$401.51
List Price:  MOP$562.15
You save:  MOP$160.63
N$930.33
List Price:  N$1,302.54
You save:  N$372.20
C$1,836.63
List Price:  C$2,571.43
You save:  C$734.80
रु6,655.03
List Price:  रु9,317.58
You save:  रु2,662.54
S/187.71
List Price:  S/262.81
You save:  S/75.10
K191.79
List Price:  K268.53
You save:  K76.73
SAR187.49
List Price:  SAR262.51
You save:  SAR75.01
ZK1,342.57
List Price:  ZK1,879.71
You save:  ZK537.13
L231.55
List Price:  L324.19
You save:  L92.63
Kč1,163.97
List Price:  Kč1,629.65
You save:  Kč465.68
Ft18,122.66
List Price:  Ft25,373.17
You save:  Ft7,250.51
SEK kr541.93
List Price:  SEK kr758.75
You save:  SEK kr216.81
ARS$43,903.87
List Price:  ARS$61,468.94
You save:  ARS$17,565.06
Bs344.52
List Price:  Bs482.36
You save:  Bs137.83
COP$194,950.93
List Price:  COP$272,946.91
You save:  COP$77,995.97
₡25,444.18
List Price:  ₡35,623.88
You save:  ₡10,179.70
L1,237.75
List Price:  L1,732.95
You save:  L495.20
₲373,658.53
List Price:  ₲523,151.84
You save:  ₲149,493.31
$U1,916.38
List Price:  $U2,683.09
You save:  $U766.70
zł201.31
List Price:  zł281.85
You save:  zł80.54
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.