From 1abaa116d9df7804cd00d1f69bc5afffeed53b5d Mon Sep 17 00:00:00 2001 From: jgiroso Date: Thu, 26 Aug 2021 23:08:54 -0400 Subject: [PATCH] oneToOne notation added --- .../com/example/demo/models/BlogPost.java | 9 ++++++++- .../java/com/example/demo/models/Recipe.java | 18 ++++++++++++------ .../com/example/demo/service/UserService.java | 3 +++ src/main/resources/application.properties | 2 +- target/classes/application.properties | 2 +- .../com/example/demo/models/BlogPost.class | Bin 1953 -> 2367 bytes .../com/example/demo/models/Recipe.class | Bin 1709 -> 2239 bytes .../demo/repository/RecipeRepository.class | Bin 342 -> 428 bytes .../demo/repository/TagRepository.class | Bin 333 -> 419 bytes .../example/demo/service/UserService.class | Bin 3517 -> 3788 bytes 10 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/example/demo/models/BlogPost.java b/src/main/java/com/example/demo/models/BlogPost.java index 80edca0a6..0a3190aec 100644 --- a/src/main/java/com/example/demo/models/BlogPost.java +++ b/src/main/java/com/example/demo/models/BlogPost.java @@ -13,6 +13,8 @@ public class BlogPost { private Long id; private String title; private String imageUrl; + @OneToOne(cascade = CascadeType.ALL) + private Recipe recipe; @ManyToOne(cascade = CascadeType.ALL) @JsonIgnore private User user; @@ -20,10 +22,11 @@ public class BlogPost { public BlogPost() { } - public BlogPost(Long id, String title, String imageUrl, User user) { + public BlogPost(Long id, String title, String imageUrl, Recipe recipe, User user) { this.id = id; this.title = title; this.imageUrl = imageUrl; + this.recipe = recipe; this.user = user; } @@ -51,6 +54,10 @@ public void setImageUrl(String imageUrl) { this.imageUrl = imageUrl; } + public Recipe getRecipe() { return recipe; } + + public void setRecipe(Recipe recipe) { this.recipe = recipe; } + public User getUser() { return user; } public void setUser(User user) { this.user = user; } diff --git a/src/main/java/com/example/demo/models/Recipe.java b/src/main/java/com/example/demo/models/Recipe.java index 67d76e6ae..13dc5187d 100644 --- a/src/main/java/com/example/demo/models/Recipe.java +++ b/src/main/java/com/example/demo/models/Recipe.java @@ -1,10 +1,8 @@ package com.example.demo.models; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import java.util.List; +import com.fasterxml.jackson.annotation.JsonIgnore; + +import javax.persistence.*; @Entity public class Recipe { @@ -14,16 +12,20 @@ public class Recipe { private String name; private String ingredients; private String instructions; + @OneToOne(cascade = CascadeType.ALL) + @JsonIgnore + private BlogPost blogPost; public Recipe() { } - public Recipe(Long id, String name, String ingredients, String instructions) { + public Recipe(Long id, String name, String ingredients, String instructions, BlogPost blogPost) { this.id = id; this.name = name; this.ingredients = ingredients; this.instructions = instructions; + this.blogPost = blogPost; } public Long getId() { @@ -57,4 +59,8 @@ public String getInstructions() { public void setInstructions(String instructions) { this.instructions = instructions; } + + public BlogPost getBlogPost() { return blogPost; } + + public void setBlogPost(BlogPost blogPost) { this.blogPost = blogPost; } } diff --git a/src/main/java/com/example/demo/service/UserService.java b/src/main/java/com/example/demo/service/UserService.java index 7db8b3097..8ff72c697 100644 --- a/src/main/java/com/example/demo/service/UserService.java +++ b/src/main/java/com/example/demo/service/UserService.java @@ -28,6 +28,9 @@ public List readAll(){ Iterable userIterable = repository.findAll(); List result = new ArrayList<>(); userIterable.forEach(result::add); + for(User user : result) { + user.setBlogPostList(blogPostRepository.findByUser(user.getId())); + } return result; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e5cd89d73..e4b00806f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,5 +4,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties index e5cd89d73..e4b00806f 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -4,5 +4,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/blogdatabase spring.datasource.username=jen spring.datasource.password=zipcode0 spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file diff --git a/target/classes/com/example/demo/models/BlogPost.class b/target/classes/com/example/demo/models/BlogPost.class index 9bce7727567c7c671eaeba61fef019206d1cd98f..984807a0acd62b41025e7f73889e44636bcd97d1 100644 GIT binary patch literal 2367 zcmai$>uwWQ5Xa}(yS@YiAvYRI5))c*49T`!3xPlgP`NS}fr(W0)5-eOY`T|dcU>j# z(FbXzT9x{t5739I`k%8K+cCT3gJ;fV&dhJ-%pUpQ|Nj1mi0;tyDXP$;DwXLmi!ByU zSUhF1U8ZMc+7VQ6x`L+L`|?+5xzg`h?ZEGC3R-;E_hZLXyH4cnxoX?@gILB+;75WM zwE3ZRpu)(BV&&V)YISjFHDlv@<*QJ}s=F)QzJgIDih15U`m8-7b&d|See3y)*PT}9 zM?q%n#I6!FGsgQq4joNgaXi^mA3|49DO9#|0KCL4KVaVK`9a8}rALnM#9M-jjkR51>>yD==i832UiZB{ z6?P;pl8YDE(%qGz!}D~}h(9{G+0|U=XKv7Y8$>Yz^&4a5*X=SkPp>0m<&>MqjjYSX z8BM=Z@yDS1R)*43C<=JZo{C#&;F-qSSj4o2%_!NN{e+jjRdBSEwA0*))1!vM`P5>5 z+(l}@PR?-rVcVVIfWui8dr6m}u843-{(`DFeth6+<1~8?Uq%Qn4;uY50n&ae!+m0W zCExk5*i-L=erT(g4!6wNjs zuhAv?5}(-pi}6})OD71%SO@R(h|tOk7+^K**M(=-+k6H5gS zt2H90=F`v%_+9*ogrYBK5mrD-cjqv>d}4PA=WAF&K9F_HZbJ)bv-uZ^KQJhOjKEWX zTp)uk(ke!Lh*_`FSJ3R>Ygp7V{tdbWU1tZ)8v`mdZw{!~Tpy6pTr>voyl4)nH1fTS z%n7IlP^*AF2gq4k!U|)p=y+R+&omyqr#0dcmxJl*x*$b8;*uD8#Oa%K4dZzehq$B! zL&AL#0y6w{YCzU8wx9*H+5D3VzhjVOU($=KnVGLqGtGPpnmI~3>rsA5?XH31y7sV; zSPgS2rMWPpiBAMd&<(l?S;u&ssW{2h%w$@pjVz|(B+~|%tQ;n;s?c=<6W2_@G>gfY zWV)5f^i4LCG0AifO!sq`xZ#IPe20R*rCX4bbuuTJ9%M4z#(#*UYac=n@6H@CB{#pB z!;^e?>Ai733A#)7GI&apJdZPZ?$dW!JY(NV!t*4DC;8M<9`5Y|J<#%@eoXlACei=( Ca=aP< literal 1953 zcmaKsTW=Fr5Xb+=Ufa1C$i2iZgoK;p1h#EbN=b!8DIgMh|-~RyE#?BNf*q%fg--);<;(HPI zEBK*;2MPtJt1#0#(C@YFYQJZ<0>8JTu>7X)$Bt+AoXFXC%_H9rVjVkyA1N#)=12CS z2_q+pjo&eLv&&0sIS0>-Z$cfL?w)r0hDH-nEbHF!x%Q0IK0ZwBn?FB!*>1LfQ7FYu z>>7o+A>Oxf=p@7wj;DKOH*^)Oeq=(0tF2Dp+2%-lhpw@^#tUpO=o&Y&cX>{fD>=L` zw13C(Gevbm*)`R-l&$({) z{2-JF+5?2e@s4wOD)GYFZri`!Nt374GjWrzYOcOMTS>uJLah){krg}^mk>l6lzH&&W_9z4p@A=Q$-D5RxyFeDrPWS#hi$F zERb;=;3w~_|LNqu+CMOz7^@ub3a8&fL7akQT+MPdOsg26>x;s(QUs~`~*&7hh2 z0(Terz4R-T!56rUWm-&ehp?1iakWLQs7sB%p#Df4TuF=ylnac%h^zdPh%~|qu2GAF zRXP_3AE-;zHF40`I6vUP&esn;5_0zoXIOcLfI{mc_(nVuxdcIqjM zLZ4ag@+D~sQ!Pofn0!g97S{MZYta-m0*^tb0(l)bCOt>@USit$`(t?05z1;LZ>fN968UX1hH`le_#fbtX!HO8 diff --git a/target/classes/com/example/demo/models/Recipe.class b/target/classes/com/example/demo/models/Recipe.class index 091f75ce47c0fce0e3b461a0710834aa1b10e755..4dc23e4410465e74fc17584370784b01b88fa8dd 100644 GIT binary patch literal 2239 zcma);>u%Fn5Xa{vc2e4GTY6gpY#X56O+$-W?$FZG<))x)K@e41@#)k#1ee6FYzMXP z!GnNAgv19PfQLf+pJQ)ojI%{mXU=8L%x~t*vGVoX=PyKbjqZ)o2;DkCMY_%64vRGw z>n!dTX`@J+f^tqv&}3szzLi!-x^1iBx$QMU<>x&&bh>KC37p-I+Hzell%eCffuK2U zeqik@KX8Ijxwf+EEgU+ZvGG{B%9o*P?Z{3~!Du81dEP$!UwcGq9`0-V`h$nt&3f}6 zL53^4O3+jS_eJPC8h8xKS1m`mArMQBi!ePqCLY=CcssnScK18VYN@Vg zb-kAA1lC`%4H(a6B=Xc%O%DRwMOy~8Yyo8-ij^uM zcpfhr;cEvqs0_{Yxw0Ky+c(ujDfP`K=5c9%YUS9Pau$<+tMIkgdM15bBMJdVv#r89 zI&iAGoQMwcK|?(m=^iZ~t_%qAVg`|M(zqbJ*DoFgU|CbUJe zl_s=Fa%BuQ|MiZbMZg?e4MAgYb988_di)s%9)02Ud|N$o`0mG|YrMp7SI}u)zwaOA zLp9-P{pwSYYq^S~3vzTEqOLKzehw(-MaB)YUho`%H$`0uqz9A#{&X|;A zzXTf0PGVMq{sr@KMH4iM1w_PBj)Q8AxLPB0d~620zhZpqB?(1kI!$L_QNjwiA?Go> z3N4_`+9whpw1Wl6Q5+?tVjzw}GyBm?uI3B#m)!-2)&U6)>dR~t> zc|(sleUlb3o;7iZi$^fzWUz#PK}+;IB*RYdb zKr=@{XML1kRJ%n`ENKsOk<}oVLYxaTnnE)QTBaI;rkV0-rfMeBMOw*X%BPuDz_dDq ziK~iN7BO+n@Nvy#GSW!o;06VB($<^e0_`Oy6B0&9s@xbQQlTqL*|BdeBda_Y!sE))1cPxySd${hdQO NS>Di}4nBO7=wE9(6 literal 1709 zcma)+T~8BH5QgV$cUvfxQodUh5fn@LSOwyR7!spMnp8B338o zkZxVt-u&1PVuf(TD<#IFv#n>{o(Xn)&qKk44!nT3NGClfdvS& zz!!K6zQ6*d^&T0ejUFXRn>{j1d9z2>wQ2$Egk2`hfqWjAdDJMtF6b(|eWkDpG{X-0 ziJM`jf^H|FpSU5D?&CRUB9)Ltc+KDp`G6K-8PbODcln)+uLu|*Akc7dF}A~pv=nx@ z56_j8y1VOc(mJ{f<`u0l+s_)%CqsJXv+(PH6F9zQ*kPu`Fw<%*(+WLC4c>f%DKX4c z0@L~}Ogu-SX9gyom!K!HOy)4tRxHzMJd-)hv<;@6TbTHQ4w(4-1U-#qvWA&n#4;7* fnXF-^mtfkvg^BOhfQj#uL2KHU^asaRXPxLTm?Rt* diff --git a/target/classes/com/example/demo/repository/RecipeRepository.class b/target/classes/com/example/demo/repository/RecipeRepository.class index d7fad6943fed614f543e97ec43362198ec7b84db..cbba40f0cd4e58ab8fa534dd770d999ffbd7162c 100644 GIT binary patch delta 133 zcmcb{w1!#u)W2Q(7#J8#7;M1& diff --git a/target/classes/com/example/demo/repository/TagRepository.class b/target/classes/com/example/demo/repository/TagRepository.class index 7a5c4ad930993622a8ab368b676313cb9d1a5900..652319bc0f7a28811c017096f2567a6052f7f571 100644 GIT binary patch delta 133 zcmX@hw3u1=)W2Q(7#J8#79un3l5r@IwRxw==cX5pM2!OKi~uUt(`QPahy!nT6?dxzxA!l`DyuYt;Jt2 z{CEz)<@nY`8?s@vVrv8=xJBbu(c4_yhV61a8o}+zxd`G8aonkKmx~Cp@@}k&823fs zVOIp>*d0M0_lua2_&qM4Pl~ly#6A&IA|7z#l+$9)2g}4!YZNpNY8*OyJYZCGH98GeV5P=kgCjVqknr1`#72V$@sP&D29MxTgH`Cz zC>lJ5V+N1o34?h&sSw@k9r7{<3zJisO|!G!(d^`0!Qd$z_f;si^XUehSQ^GN4S3ez zIXutQ1~1@6<~Mi=FO!79EAS0ol^n0(b%V>W*5D1iY48@_Hh4#@cg1=S?;Cu84-K~9 zgow1iBQ!A3WEo6((-WEDLVi{%RH(1f5=IK;D9h7E6=r4?l762`oc$qmSOq@9$9_h) z1jg}+pVglKi%#e2CI!z%#=3j5HONJTeg(b9n;Xd=VTM3=&zM4R+8#m^`NHsSrd@nz z`DJIOC;I)r^qI(~1}E`_!IwDgpRQZ4zV`pDJMaGyZVP^+u-ZQmZuMK-RDUa%0&w`_ zfS}OM(?!&m+FOp~KX;mE&XcmsKjy}|x-0R(67mS0#{{4r0m>K}(M-zAEYM1O*Ior`$2xu}iZKlq z(piLDXCc?)3W213o)1IRIsas&qqu+ug^~0E8WlIAgGQ6W&j@Y^#)HZ4q2s|4q6?^V zP(t|BKfkBW@M#djstuYl0r@VPcv?kngKX$FHguHDl-48}JBX-d6y!Nq;p-xcD{&Qy z943ZvH8zl4KLeycW#<5kDf_PB-5`C9a4sOJu~Fk%jZJ?u!)9JPxQ?MixSp02I8QCP zQpw&DE*?pzO1PwinCRvbmWhs+(8B7RH0uvIQm>Td*s@}_JDuE!E;hcKjCxpHvRV#- zt4&W;nl5)YaE=aNb>c=^0o(qt!vN4FQ{|^sVK_uBYhaQ^lIUH)atFON2Cj9kVIML! zYk6l(HLLl*o!L^}8KMp{xuCmA+kg@hHE3CLkdw?tU~>$s;<}Y;`sm~?3iBX_DIMHY g{YY-+`E&kVB7KIha0+qU&9i(2JDB+%+>4$60t$K9wg3PC delta 1217 zcmZuxSx-|@5dQAHluK`qSU?Ics7MRi7KpW^+|MN+#wLb-z557Y23|TCgE}upW0?=j zvBE~Z=#>suVYRp$d{~1<2U%Dvfps?4JMf`S>NeyPW1A1#(d007hh*&(u}j2m5qm`J z6%m*6eUi7|_Mq9ufxcdk)t|H+!(WO?3S%+O#zBQcIIO>BmCkR$5gSJpT5(Ka0w&rx zu5bb;6;7c|;WXL}6dZ|n#A9dLTUuj_+uGvY4K1hJ70#eTPxS=qJN@Vy=|#66XBE!j zyp0PA7m-k?#8ib#xU6smR~4>_bzQ6*xT$apw-pwlOT-idLH*tc>LE{|5!OGl$Mw(3 z?li1B=+S-l80#+X=`VI%fA9|mG@_1?(n!W zsR1kA+)S7vyUE5210ns%8`9sLU}7}s1x)@(3k;O-lubR}^^%Q$d^XQyk+O^#F=~U_ z6MhS$&n*d33IH$yAxf1>KshRSGB6oa*i4F-Q0op~aqVzPfm;$_0LV?3h!sYJrBQl4 z1`mQmW(7wN`Kp@)AQu*80C_0lBNn?r6J1|v2B?$+SFtt^eizdG0~vE6r=dDMS`P~a zE~K}pVB!re3(_Q?`vvmkkf(fdRK`|v$yB3Ix{*UJr*r2G<`kd?Gl@EjS#qybY<4C# zhrYRtnV3gkE#}h_a;{NJuV^@uNW$M(8BHQDiG0xoNsJO*m_#5v0JCxsmWfZul0i*( z&;UHN%lHyOG81C!a*kW!4jWDZXIP1*Sz$9QAkikP%CV4^2Ka+oYF82G7D`N|OusXS