{"id":1515,"date":"2020-12-12T14:49:29","date_gmt":"2020-12-12T05:49:29","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1515"},"modified":"2020-12-12T14:50:17","modified_gmt":"2020-12-12T05:50:17","slug":"persistable-%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%ec%bf%bc%eb%a6%ac-%ec%b5%9c%ec%a0%81%ed%99%94","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1515","title":{"rendered":"Persistable \uc744 \uc774\uc6a9\ud55c \ucffc\ub9ac \ucd5c\uc801\ud654"},"content":{"rendered":"<h1>Persistable \uc744 \uc774\uc6a9\ud55c \ucffc\ub9ac \ucd5c\uc801\ud654<\/h1>\n<h2>\ubb38\uc81c\uc810<\/h2>\n<pre><code class=\"language-java\">@RequiredArgsConstructor\n@Service\npublic class CurrentStockSummaryService {\n\n    private final CurrentStockSummaryRepository currentStockSummaryRepository;\n\n    @Transactional\n    public void addIpgo(String skuCd, int diffCount) {\n\n        CurrentStockSummary currentStockSummary = getOne(skuCd);\n        \/\/ ......\n        currentStockSummaryRepository.save(currentStockSummary);\n    }\n\n    private CurrentStockSummary getOne(String skuCd) {\n\n        return currentStockSummaryRepository.findById(skuCd).orElse(new CurrentStockSummary(skuCd));\n    }\n}<\/code><\/pre>\n<p>\uc704\uc5d0\uc11c <code>Repository.findById()<\/code> \uc5d0 \uc758\ud574 \ub370\uc774\ud0c0\uc758 \uc874\uc7ac\uc5ec\ubd80\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc74c\uc5d0\ub3c4, <code>Repository.save()<\/code> \uc5d0\uc11c \ub610 \ub2e4\uc2dc <code>select<\/code> \ub97c \uc218\ud589\ud558\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<h2>\ud574\uacb0\ucc45<\/h2>\n<pre><code class=\"language-java\">@Setter\n@Getter\n@NoArgsConstructor\n@Entity\n@Table(name = &quot;tbl_current_stock_summary&quot;, catalog = &quot;db_summary&quot;)\npublic class CurrentStockSummary extends BaseTimeEntity implements Persistable&lt;String&gt; {\n\n    @Id\n    private String skuCd;\n\n    \/\/ ......\n\n    @Override\n    public String getId() {\n        return skuCd;\n    }\n\n    @Override\n    public boolean isNew() {\n        return getRegdate() == null;\n    }\n}<\/code><\/pre>\n<p>\uc704\uc5d0\uc11c \uc5d4\ud130\ud2f0\uc5d0 <code>Persistable<\/code> \ub97c \ucd94\uac00\ud558\uace0, <code>getId()<\/code>, <code>isNew()<\/code> \ub97c \uad6c\ud604\ud574 \uc90c\uc73c\ub85c \ud574\uc11c \ubc18\ubcf5\uc801\uc778 <code>select<\/code> \ub300\uc2e0, \uc989\uc2dc <code>insert<\/code> \ub97c \uc2e4\ud589\ud558\uac8c \ub41c\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Persistable \uc744 \uc774\uc6a9\ud55c \ucffc\ub9ac \ucd5c\uc801\ud654 \ubb38\uc81c\uc810 @RequiredArgsConstructor @Service public class CurrentStockSummaryService { private final CurrentStockSummaryRepository currentStockSummaryRepository; @Transactional public void addIpgo(String skuCd, int diffCount) { CurrentStockSummary currentStockSummary = getOne(skuCd); \/\/ &#8230;&#8230; currentStockSummaryRepository.save(currentStockSummary); } private CurrentStockSummary getOne(String skuCd) { return currentStockSummaryRepository.findById(skuCd).orElse(new CurrentStockSummary(skuCd)); } } \uc704\uc5d0\uc11c Repository.findById() \uc5d0 \uc758\ud574 \ub370\uc774\ud0c0\uc758 \uc874\uc7ac\uc5ec\ubd80\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc74c\uc5d0\ub3c4, Repository.save() \uc5d0\uc11c \ub610 \ub2e4\uc2dc\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=1515\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1515","post","type-post","status-publish","format-standard","hentry","category-spring-boot-2-1"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1515"}],"version-history":[{"count":2,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1515\/revisions"}],"predecessor-version":[{"id":1517,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1515\/revisions\/1517"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}