Analytics

Saturday, August 1, 2009

Why Hibernate does "delete all then re-insert" - its not so strange

Overview

Hibernate allows developers to interact with data from a relational database in an object-oriented fashion. This brings a lot of benefits to maintenance of development. However, hibernate is an abstraction of data which essentially is its function as an ORM, and this usually forces the developer to know hibernate's internals in order to use the tool effectively.

Maintaining collections in the object world is something every application does. Using hibernate you can manipulate colllections by adding and deleting items through the java api, and by way of mapping, hibernate takes care of generating the SQL to augment that data in the database. If the nuances of the mapping is not understood, hibernate may produce what seems like strange results. A particular instance arises when you map a List on the many side of a one to many relationship. When removing an item from the list, hibernate issues a delete statement to delete all elements, and then issue insert statements to insert everything back in except the one removed. This seems ineffecient and odd. Why not just delete the one item? Then if you change the collection type to a Set, only one delete statement is issued by itself. This article tries to explain this behavior and hopefully bring to light hibernate's internals.


Explanation by Example

The scenario described above occurs when mapping a one to many relationship with a association table. The association table stores two attributes, each of which is a foreign key to another table. In addition, the many side object is mapped with a List, but no index column is used. Hibernate recommends when using a list that an index column is used, but why exactly? The example should illuminate why hibernate recommends the index column when mapping a list. The example will show you what happens when using a list without an index column.

Example Setup

Let's set up the example. Let's say I have two classes: A and B. There is a one to many relationship from A to B, where A has many B's in a List. Using hibernate we map B with one to many and leave out the index column.

As instances of these classes, we have an A1 with 3 children and A9 with no children (just for contrasting sake). The figure below illustrates this


In the database, we have three tables. The association table maintains the relationship between A and B. No constraints are in the table for simplicity sake. (We want to focus on hibernate's behavior and worry less about enforcing integrity in the database.) Notice there is not indexed column in AB.


Here is the data in the tables:

Also notice that the list contains two B1's, as a list is capable of containing duplicates. So we code in java to delete an element from A, say the first element in the list which is B1.



a.getBList().remove(0);


So what occurs on hibernate's flush? It first issues an sql to delete all rows in the relationship table where B_ID = 1. Then it inserts all the relationships that are not supposed to be deleted!
This seems strange.
However the reason why this occurs is because hibernate supports the additional feature of a collection that is called a Bag. A bag is a collection which can have duplicates but is unordered. The best feature of a bag is that you can get the number of occurrences of an object through the API with
public int occurrences(Object o) 
With a list, there is no way to do the same without iterating through the whole list.

Thus, when a list is mapped without an indexed collection, hibernate treats in like a bag. In essence, a list which has an indexed column is an "indexed bag.

Since hibernate handles our list as a bag, it believes there could be duplicate entries in the association table. In addition it knows the items in table AB are unordered, so there is no way to tell which row should be deleted from the object in java. We asked earlier, why not just issue one delete statement. If it stopped here we would end up with:


So hibernate needs to continue and re-insert the rows it knows from java that are not supposed to be deleted. In memory, it can just look at the list after remove() was called and insert the remaining relationships. So we end up with what we wanted:



Conclusion

When using a list in hibernate an indexed column is necessary if you want efficient manipulation of adding and deleting items. With an indexed column, when you code a remove(index), hibernate can relate that index to the column in the db and even if there are duplicates, it can distinguish and delete one row. Better yet, if duplicates are not needed in your application, you can use a Set. A set requires no index column and hibernate can distinguish one row because it know a set does not have duplicates.

If you are wondering what is the purpose of a Bag, references below may answer that question.

References

http://www.discursive.com/books/cjcook/reference/collections-sect-bag.html
http://guanyu.info/blog/?p=69
https://forum.hibernate.org/viewtopic.php?t=957657
http://sites.google.com/site/xushengxiaotech/Home/hibernate-tips--efficient-usage-of-bag-for-association

561 comments:

  1. This is the sort of things cam make life harder for DBAs with ORM database practises. If there is a requirement to maintain an audit trail then it gets polluted by masses of Delete/Insert pairs that effect no change but make reporting on time based views of the data histories a real pain.

    ReplyDelete
  2. That is a good point. ORMs definitely make java developers' lives easier by sparing them lots of yucky JDBC and mapping code. Using objects allows for modularity, encapsulation, and the whole OO works. However, if we don't know the internals of the ORM tool, we can run into issues you noted above.

    We can alleviate the mass delete issue by using an indexed column. I would hope a DBA would be willing enough to add such a column to service the application. The tradeoff's must be understood and should be well worth it.

    ReplyDelete
  3. Thanks! I had the same Problem. It deleted all and then inserted. To solve this,

    1) I declared the Collection as Set instead of List
    2) Overridden the hashCode and equals method

    It selectively deleted based on the removal in collection.

    The following blog also helped to achieve selective update in one-many relationship

    http://sieze.wordpress.com/2009/09/04/mapping-a-many-to-many-join-table-with-extra-column-using-jpa/#comment-51

    ReplyDelete
    Replies
    1. Oh, this link is off!!! I have just had this problem because server fell and hibernate deleted but not reinsert. I have lost all the registries. Who can i solve this for the next time? Thanks

      Delete
  4. thanks nirav. this is d information i wanted. u explained in such a simple n diagrammatic approach... thanks a lot... cleared my doubts...

    ReplyDelete
  5. Very nice explication! The only source I found where the reason is explained in detail. Thx!

    ReplyDelete
  6. Hi,
    You have explained it in detail with an example, you have not mentioned anything about Set.

    ReplyDelete
  7. Awesome..You have clearly explained …Its very useful for me to know about new things..Keep on blogging..
    java training in omr | oracle training in chennai

    java training in annanagar | java training in chennai

    ReplyDelete
  8. I am reading your post from the beginning, it was so interesting to read & I feel thanks to you for posting such a good blog, keep updates regularly.
    SEO Training near me
    SEO Training in Chennai
    SEO Training
    Digital Marketing Chennai
    Digital Marketing Courses in Chennai
    Digital marketing courses

    ReplyDelete
  9. The knowledge of technology you have been sharing thorough this post is very much helpful to develop new idea. here by i also want to share this.
    Devops Training courses
    python Training in chennai
    Devops Training in Bangalore

    ReplyDelete
  10. It's a good post and keep posting good article. it is very interesting to read.
    Regards,
    Devops Training Institute in Chennai

    ReplyDelete
  11. Well somehow I got to read lots of articles on your blog. It’s amazing how interesting it is for me to visit you very often.
    python Training institute in Chennai
    python Training institute in Bangalore
    python Training in Pune

    ReplyDelete
  12. This is the exact information I am been searching for, Thanks for sharing the required info with the clear update and required points. To appreciate this I like to share some useful information regarding This Topic which is the latest and newest for me.

    Regards,

    Whatsapp Group Links List

    ReplyDelete
  13. Thanks for posting such an blog it is really very informative. And useful for the freshers Keep posting the
    updates.

    Guest posting sites
    Technology

    ReplyDelete

  14. Nice Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
    Check out : best hadoop certification in chennai
    best hadoop training institute in chennai with placement
    best bigdata hadoop training in chennai
    big data training in chennai velachery

    ReplyDelete
  15. Nice and good article. It is very useful for me to learn and understand easily. Thanks for sharing your knowledge.
    AWS Online Training
    AWS Training in Hyderabad
    Amazon Web Services Online Training

    ReplyDelete
  16. amazing blog layout! How long have you been blogging for? Get Free Girls WhatsApp Numbers Latest 2019 you make blogging look easy.

    ReplyDelete
  17. I Like the way you write a post so clean and good
    https://www.youtube.com/watch?v=J4psD3RXq68

    https://www.youtube.com/watch?v=jlL8s-wvhuE
    https://www.youtube.com/watch?v=D-QT3kk0lGk
    https://www.youtube.com/watch?v=bwxueYh605E
    https://www.youtube.com/watch?v=o6eMRHnGbEc

    ReplyDelete
  18. Check the Karnataka results on the official website. Studenst click on the link given here to check the more info.

    ReplyDelete
  19. Official Tamil Nadu SSLC Result Portal's TN 10th Result March 2019 Check Online @ TNRESULTS.NIC.IN. The tnresults.nic.in 2019 SSLC results are an important part of the student's life.

    ReplyDelete
  20. Students can find their 2019 Maharashtra Board SSC Results, 2019 MSBSHSE 10th Class Results, Wise Name, Wise School, Toppers List etc. So bookmark and stay tuned to us on this web page.

    ReplyDelete
  21. Students can use the android app to check their 2019 Maharashtra SSC Result directly on their smartphone. Students are highly stressed about the outcome of the SSC, we are asked to be patient and visit our website for the latest news and updates regarding the 2019 SSC Result of the Maharashtra Board.

    ReplyDelete
  22. The Chattisgarh Board will also release the CGBSE class 12th result 2019 online on its official website for students ' convenience announcement. Once the results of the CGBSE class 12th are out, this page will be live here. Students will be able to check the results of CGBSE class 12th by following the procedure for checking the 2019 result of cgbse class 12th.

    ReplyDelete
  23. Students who give MP Board 12th Additional Exam 2019 will be able to check MPBSE 12th Additional Results 2019 on MP Board's official website.

    ReplyDelete
  24. Rajasthan Board 12th Results 2019 Name wise will be announced on May 22nd, 2019 on the official portal for the branch of Arts, Science and Commerce. Rajasthan RBSE Board Class 12th Time Table 2019 Download Rajasthan RBSE Board Senior Admit Card 2019 for Date Sheet 2019 12th Class.

    ReplyDelete
  25. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!
    digital marketing course
    www.excelr.com/digital-marketing-training

    ReplyDelete
  26. After reading your post I understood that last week was with full of surprises and happiness for you. Congratz! Even though the website is work related, you can update small events in your life and share your happiness with us too.
    nice content on your website

    ReplyDelete
  27. Attend The Python Training in Hyderabad From ExcelR. Practical Python Training Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python Training in Hyderabad.
    python training in bangalore

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. TheDrive and its partners may earn a commission if you purchase a product through one of our links. Read more. A good dash cam makes it https://bestfrontandreardashcams.com/ and A driver has been charged after being caught on a truck's dash cam ... where the video shows the car repeatedly cutting in front of the truck and

    ReplyDelete
  30. Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
    python training in bangalore

    ReplyDelete
  31. Very interesting post this is my first time visit here.

    ReplyDelete
  32. วันที่มีความสุขและมีความสุข ขอบคุณมากสำหรับการแบ่งปันบทความ

    máy phun tinh dầu

    máy khuếch tán tinh dầu tphcm

    máy khuếch tán tinh dầu hà nội

    máy xông phòng ngủ

    ReplyDelete
  33. Hi,
    I found your article on google when am surfing, which is good and well optimized.
    Also I posted an article which is good and well optimized and it can help yours audience for more information about the MX Video Player
    Mod APK.
    MX Player V1.11.3 Ad-Free [ Mod ] Apk Download 2019 at this website.

    ReplyDelete
  34. service now administration training Great post . thanks for sharing a clear step by step process on getting in the nice

    ReplyDelete
  35. You can easily report Google Adsense about fraud clicks by filling the invalid activity appeal form.

    ReplyDelete
  36. Kissanime is one of the most famous anime show streaming websites on the internet which provide us anime collection. The site is used to stream anime content online. It provides the best English dubbed anime in HD quality. So today we discuss 20 best sites like Kissanime. It is a website where anime lovers spend their time. it has the largest collection of videos with high quality. But there are many things missing in kissanime.
    https://socialsathee.com/sites-like-kissanime/

    ReplyDelete
  37. Inpage is a Pc software which is used to write articles, blogs and create Png images in Urdu, Arabic, Pashto, Sindhi, Punjabi, and other local Pakistani languages. It was launched in 1994 by Indian software development company “Concept Softwares Pvt Ltd” with the help of UK company “Multilingual Solutions”. This team was led by Vijay Gupta, Rajendra Singh, and Kamran Rouhi.
    https://inpage.online/inpage-2018-free-download/

    ReplyDelete
  38. Kissanime is one of the most famous anime show streaming websites on the internet which provide us anime collection. The site is used to stream anime content online. It provides the best English dubbed anime in HD quality. So today we discuss 20 best sites like Kissanime. It is a website where anime lovers spend their time. it has the largest collection of videos with high quality. But there are many things missing in kissanime.
    Sites Like Kissanime

    ReplyDelete
  39. I just couldn’t depart your web site before suggesting that I extremely enjoyed the standard info a person provide for your visitors? Is gonna be back often to check up on new posts Majhi naukri

    ReplyDelete
  40. Nyc Article Thnks for this knowlage very helpul post click here for ifont doante

    ReplyDelete

  41. Nyc Article Thnks for this knowlagevhelful kmowlage hey if you want uc browser mod apk click here Download uc browser Mods Apk

    ReplyDelete
  42. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job. Now i am waiting for more updates for machine learning course.

    ReplyDelete
  43. Nyc Article Thnks for this knowlagevhelful kmowlage hey if you want picsart png click here Download 5000 picsart png

    ReplyDelete


  44. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man, Keep it up. Plaese update for machine learning course bangalore

    ReplyDelete
  45. Data for a business analytics course with placement is what Oxygen is to Human Beings. This is also a profession where statistical adroit works on data – incepting from Data Collection to Data Cleansing to Data Mining to Statistical Analysis and right through Forecasting, Predictive Modeling and finally Data Optimization. A Data Scientist does not provide a solution; they provide the most optimized solution out of the many available.

    ReplyDelete
  46. This is the exact information I am been searching for Products24 Really useful information. Thank you so much for sharing. How to Hack Wifi

    ReplyDelete

  47. Thank You for nice article. This is very helpful for me. I will learning a lot from you and your website, it is so inspiring!!!

    Best regards from India

    View My Free HEX to RGBA Tool and give me some feedback please.

    ReplyDelete
  48. This comment has been removed by the author.

    ReplyDelete
  49. Nice article
    Thanks for sharing the information
    There is a lot of useful content
    Please visit leadmirror to know your website rank
    https://www.leadmirror.com/tool/seo-report

    ReplyDelete
  50. your web site today and found it very interesting and well done. I can tell you have put a lot of work into it. Thank you for the listing on your web page. You have a good looking web site Your site is exactly what I have looking for!! Keep up with the good work. PS4 External Hard Drive – Top Product Of 2019

    ReplyDelete
  51. At Regulus, all of our employees, whether full-time, leased, temporary or internal are just as important. Best It Management Solutions We’ll take the time to get to know you and understand your needs and requirements on an individual basis, and we’ll match your skills to our clients’ requirements. Our understanding and commitment to each individual employee and their goals is what you will get when you work with us.

    ReplyDelete
  52. Wow, amazing article. I like your way of writing this article. Can you please publish these types of more articles?

    best telugu movies download

    ReplyDelete
  53. This comment has been removed by the author.

    ReplyDelete
  54. Grow sale India ads available in India of goods for sale from cars, furniture, electronics to jobs and services listings.

    post free classified ads in india

    ReplyDelete
  55. Grow sale India ads available in India of goods for sale from cars, furniture, electronics to jobs and services listings.

    post free classified ads in india

    ReplyDelete
  56. https://www.growsaleindia.com/

    Grow sale india classified ads website Buy&sell find just about anything

    ReplyDelete
  57. amazing post and written in very simple and impressive language. Thanks for sharing
    harry potter wifi names

    ReplyDelete
  58. These substance are truly significant to all perusers and I gain my insight in the wake of visiting your post. Truly thank you and Keep it up..pokemon colouring pages

    ReplyDelete
  59. It’s not dull when you write about it.. Out of every blog on this, yours worth following. Majhi naukri

    ReplyDelete
  60. https://assarconsulting.blogspot.com/2009/08/why-hibernate-does-delete-all-then-re.html?showComment=1571915634345#c3816959600742339389

    ReplyDelete

  61. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    best angular js online training

    ReplyDelete
  62. I must appreciate you for providing such a valuable content for us. This is one amazing piece of article. Helped a lot in increasing my knowledge.devops training in bangalore

    ReplyDelete
  63. thanks for sharing this such types of topics.
    Best AWS Solutions Architect Training in Bangalore.
    https://onlineidealab.com/aws-training-in-bangalore/


    ReplyDelete
  64. thanks for informing us about this articles.
    Best AWS Certification course.
    https://onlineidealab.com/aws-certification/

    ReplyDelete
  65. Boston valves let you quickly inflate and deflate this ‘yak. There is a removable skeg ensure the greater stability and tracking. This inflatable tandem is US coast guard approved can easily pass the test of time.

    Intex Explorer K2 Kayak

    ReplyDelete
  66. keep up the good work. this is an Assam post. this to helpful, i have reading here all post. i am impressed. thank you. this is our digital marketing training center. This is an online certificate course / digital marketing training in Bangalore

    ReplyDelete
  67. We have Best VPS Hosting in India 2019 support to quality services and affordable Web services to our clients.We have provided a VPS support to all cloud-based services likes windows, server with the services platforms.

    ReplyDelete
  68. A really great post. I found a lot of useful information here.
    A really great post. I found a lot of useful information here.
    Devops Training in Pune

    ReplyDelete
  69. great post. It was so informative and keep sharing. Home elevators

    ReplyDelete
  70. Good Post! Thank you so much for sharing this pretty post,
    it was so good to read and useful to improve my
    knowledge as updated one.
    tamilrockers !

    ReplyDelete
  71. Thank you for sharing valuable information. Thanks for providing a great informatic blog, really nice required information & the things I never imagined. Thanks you once again Candy Crush Saga Mod Apk

    ReplyDelete
  72. Thank you for sharing valuable information. Thanks for providing a great informatic blog, really nice required information & the things I never imagined. Thanks you once again Best Geyser Water Heaters In India

    ReplyDelete
  73. awesome website
    https://hindimessages.in/2019/12/new-year-2020-shayri-happy-new-year-shayri-2020.html

    ReplyDelete
  74. Thank you for sharing valuable information. Thanks for providing a great informatic blog, really nice required information & the things I never imagined. Thanks you once again Hill Climb Racing Download Apk

    ReplyDelete
  75. Roblox is a massively multiplayer online and game creation system platform that allows users to design their own games and play a wide variety of different ...
    thanks for sharing such a wonderful information from this post
    digital marketing

    ReplyDelete
  76. Roblox is a massively multiplayer online and game creation system platform that allows users to design their own games and play a wide variety of different ...

    digital marketing

    ReplyDelete
  77. Nice blog, it's so knowledgeable, informative, and good looking site. I appreciate your hard work. Good job. Thank you for this wonderful sharing with us. Keep Sharing.
    Kindly visit us @ online idea lab

    ReplyDelete

  78. I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job . Keep it up and a i also want to share some information regarding selenium online training and selenium training videos

    ReplyDelete
  79. for amazing desi status and quotes in hindi and english for your fb post and whatsapp dp please visit the whatsapp status hindi.

    ReplyDelete
  80. Hey guys if you like to read and share desi status on whatsapp and facebook then you can try desi attitude status for whatsapp for your whatsapp and facebook.

    ReplyDelete
  81. Advertising agencies are part of the marketing industry. They help identify markets and find ways in which to reach the target audience.
    ExcelR Digital Marketing Courses In Bangalore

    ReplyDelete
  82. Superb post, we enjoyed each and everything as per written in your post. Thank you for this informative article because it’s really helpful, I really like site.
    bigg boss contestants
    bigg boss telugu vote
    bigg boss vote

    ReplyDelete
  83. This is very amazing blog it provide a good information.I like it soo much.Thanks for sharing it.
    Best Dance Class in Dwarka

    ReplyDelete
  84. I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.
    Selenium Training
    Selenium Tutorial
    Selenium Tutorial for Beginner

    ReplyDelete
  85. We are here to provide you the best bulk SMS service in Pune, Nashik, Nagpur or any other place. We make sure to give you the best and that too at a very decent price.
    Allow us to help you grow your company in a better way.
    http://digi-webs.com/

    ReplyDelete
  86. We are here to provide you the best bulk SMS service in Nashik. We make sure to give you the best and that too at a very decent price.
    Allow us to help you grow your company in a better way.
    Bulk SMS Service in Nashik

    ReplyDelete
  87. We are here to provide you the best escort service in Mountabu.
    Our escort service Mountabu will make sure that you get the best service which allows you to fulfill all your desires and allow you to have a perfect moment.
    Mountabu Escort Service

    ReplyDelete
  88. Click Here attitude status for girls
    provides you a huge collection of all the attitude Hindi
    status and the website includes copy and attitude share button.

    ReplyDelete
  89. Thanks for sharing such a great information..Its really nice and informative..

    automated software testing training

    ReplyDelete
  90. We are here to provide you the best bulk SMS service in Pune. We make sure to give you the best and that too at a very decent price.
    Allow us to help you grow your company in a better way.
    Bulk SMS Service

    ReplyDelete
  91. I found this website very useful hope to see another amazing post.
    you watch Movies on 123Movies, GoMovies, TamilRockers
    visit all website one by one to get movies.
    123MoviesCounter

    ReplyDelete
  92. This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck... Thank you!!! digital marketing courses in Bangalore

    ReplyDelete

  93. Thanks for Sharing This Article.It is very so much valuable content. I hope these Commenting lists will help to my website
    workday studio training

    ReplyDelete
  94. This post is really nice and informative. The explanation given is really comprehensive and useful.

    aws training online
    learn amazon web services

    ReplyDelete
  95. Vj Anjana wiki Biography Images. She is an Indian actress, She is also works in South Indian Television industry.

    ReplyDelete
  96. Vj Anjana wiki Biography images. She is an Indian actress She also works in South Indian Television Industry.

    ReplyDelete
  97. Great and inspiring post. I’d want to mark like this too attractive topic and actual hard art work to make a great article. extremely attractive weblog. I look forward to more great and insightful posts like this in the future.

    https://visual.ly/users/tzviralhub/

    https://www.theverge.com/users/Sarkariresult123
    https://in.pinterest.com/Sarkariresults1/
    https://myspace.com/sarkariresult1553
    https://vimeo.com/srhindi/

    ReplyDelete
  98. Study Digital Marketing Courses in Bangalore with ExcelR where you get a great experience and better knowledge.
    Digital Marketing Courses in Bangalore

    ReplyDelete
  99. 축구 지식을 향상시키기위한 중요한 팁

    축구는 이미 여러 세대에 걸쳐있었습니다. 하지만 상황이 바뀌 었습니다. 더 나은 축구 선수가 되려면 계속 읽으십시오.

    축구를하려는 경우 민첩성을 높이십시오. 팀에게 가치있는 최고의 축구 선수는 민첩한 선수입니다. 민첩성 훈련을 통해 민첩성을 개선하기 위해 할 수있는 일을 시도하십시오. 여기에는 타이어를 통한 달리기, 줄넘기 및 원뿔 위로 점프와 같은 연습이 포함됩니다.

    방어를 할 때 상대 팀의 구성을 읽는 법을 배우는 것이 필수적입니다. 공격적인 라인업을 살펴보면 다가오는 연극까지 그들의 의도가 무엇인지에 대해 많은 것을 배울 수 있습니다. 대형을 배우려면 전문 및 대학 게임을보고 자신 만의 플레이 북을 만드십시오.

    킥오프를 할 때 과거 수비수를 얻는 방법을 배우십시오. 이를 수행하는 가장 좋은 방법은 최고의 수비수 몇 명에게 직접 실행하는 것입니다. 그들은 당신을 가장 효과적으로 차단하고 목표를 향해 선을 넘어 설 수있는 공간을 만들 것입니다.

    항상 동료 팀원을 지원하십시오. 축구는 다른 스포츠와 달리 견고한 팀워크가 필요합니다. 당신과 당신의 팀원은 하나의 단위로 잃고 승리합니다. "나"가 아니라 "우리"입니다. 팀원으로서지지하는 것이 중요합니다. 자신감있는 그룹으로서 훨씬 나아질 것입니다.

    다운이 끝날 수있는 몇 가지 방법을 배워야합니다. 공을 가지고있는 선수가지면으로 넘어 졌을 때, 또는 상대방 선수가 전진을 멈추었을 때 끝날 수 있습니다. 또한 패스가 경계를 벗어나거나지면에 닿을 때 발생합니다. 공을 가진 플레이어가 범위를 벗어날 때 발생할 수 있습니다. 심지어 팀이 득점 할 때에도 발생합니다. 마지막으로, 공무원이 호루라기를 불면 그것은 다운이 끝났다는 신호입니다.

    무엇을 배우고 싶은지에 관계없이 과제를 시도하기 전에 먼저 조사하는 것이 좋습니다 토토사이트. 팁을 찾는 것만으로도 더 나은 선수가 되고자합니다. 게임을 더욱 향상시키기 위해 가능한 한 많이 배우고 읽으십시오.

    ReplyDelete
  100. Thanks for sharing such a great information..Its really nice and informative...

    erp tutorial

    ReplyDelete
  101. I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.

    oracle cloud tutorial

    ReplyDelete
  102. Click Here girls attitude Status 2020provides you a
    huge collection of all the attitude Hindi status
    and the website includes copy and Whatsapp share button.

    ReplyDelete
  103. Click Here hindi Whatsapp status 2020 provides you a huge collection of all the attitude Hindi status and the website includes copy and Whatsapp share button.

    ReplyDelete
  104. Amazing Information you have provided thank you soo much for that and Please keep posting these valuable stuff. It helps a lot for Happy Eid Ul Fitr 2020 - Wishes and HD Images of Ramzan Mubarak.

    ReplyDelete
  105. Very nice collection on yours blog keep it up check
    check out -Best tamil site for poems and kavithai
    Tamil Amma Kavithai
    Tamil Kavithai
    Thank You

    ReplyDelete
  106. i got from this post. Love this very much! I am happy to visit this site as usualVery useful info
    i got from this post. Love this very much! I am happy to visit this site as usual bajrang baani got from this post. Love this very much! I am happy to visit this site as usualVery useful info i got from this post. Love this very much! I am happy to visit this site as usualVery useful info
    i got from this post. Love this very much! I am happy to visit this site as usual
    i got from this post. Love this very much! I am happy to visit this site as usual
    Cb Background zip file
    picsart Background zip file

    ReplyDelete
  107. I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.

    microsoft azure tutorial

    ReplyDelete
  108. All are versatile in this quick world, and everybody works in a hurry. This makes our reality subject to portable applications. At DigitalTripolyStudio, we have the best response to this App unrest. Our sound capability crosswise over differing versatile stage makes us an ideal accomplice for Best mobile application development services in india
    . From Ideation to App Store dispatch, we have the ideal mix of administrations to guarantee that your Mobile application covers all the business scope with no trade off on quality. Our banded together methodology helps to distinguish every single potential risk and unanticipated snags during Mobile App improvement making us on among the best in the business.

    ReplyDelete
  109. Amazing Post. Thanks For Sharing.
    https://www.bajwamohit.com/2020/04/extramovies.html

    ReplyDelete
  110. Google AdWords is Best google adwords and ppc services in india
    system in which advertisers bidding on some keywords in Google’s search results in the order of their clickable ads. Because advertisers have to pay for these clicks, Google makes money from search like this. Depending on the competitiveness of the keywords you say for the actual conversions for your company and the relevance of that keyword, AdWords may or may not work for your business either. For the most part, we’ve found that Google AdWords is extremely effective for many types of businesses, as long as they do not waste their money on the wrong keyword, or write weaker, less CTR ads.

    ReplyDelete
  111. Nice article. For offshore hiring services visit:
    bootstrap.phpfox

    ReplyDelete
  112. i like very much your website very great very very nice please keep it up 파워볼사이트

    ReplyDelete
  113. आपका आर्टिकल काफी यूज़फुल है इससे हम बहुत कुछ सीखें ऐसे ही अच्छा-अच्छा आर्टिकल डालते रहिए बहुत धन्यवाद मेरा भी एक ब्लॉग है sushiltechvision

    ReplyDelete
  114. 3d architectural visualization in India
    High quality photorealistic Interior & exterior 3d architectural visualization and rendering services , walkthrough residential , commericial | Tripolystudio

    ReplyDelete
  115. 3d walkthrough animation services

    Our 3d design company provide high quality 3d architectural walkthrough animation services in india | 3d exterior & interior design for residential commercial

    ReplyDelete
  116. 360 panoramic vr video in indiaTripolyStudio We offer high quality 360 panoramic video in india | best 360 degree interior and exterior panoramic virtual walkthroughs, 360 view photography, vr photos

    ReplyDelete