├── .gitignore ├── 01-jdbc-intro-lab ├── .idea │ ├── .gitignore │ ├── .name │ ├── compiler.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 6dd2237a-a896-4bf5-8f3b-331ac4c9dadd.xml │ │ ├── 6dd2237a-a896-4bf5-8f3b-331ac4c9dadd │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ └── information_schema.FNRwLQ.meta │ │ ├── 7b46b487-7945-4a3f-9c69-8b557ba02272.xml │ │ └── 7b46b487-7945-4a3f-9c69-8b557ba02272 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── libraries │ │ └── mysql_connector_java_8_0_21.xml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml ├── 01-jdbc-intro.iml ├── lib │ └── mysql-connector-java-8.0.21.jar ├── out │ └── production │ │ └── 01-jdbc-intro │ │ ├── jdbc.properties │ │ └── jdbcdemo │ │ ├── DiabloGames.class │ │ └── Main.class ├── sql │ ├── diablo_database.sql │ └── soft_uni_database.sql └── src │ ├── jdbc.properties │ └── jdbcdemo │ ├── DiabloGames.java │ └── Main.java ├── 01-jdbc-intro ├── .idea │ ├── compiler.xml │ ├── misc.xml │ ├── modules.xml │ ├── vcs.xml │ └── workspace.xml └── 01-jdbc-intro.iml ├── 02-mini-orm-lab ├── .idea │ ├── .name │ ├── compiler.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── vcs.xml │ └── workspace.xml ├── mini-orm.iml ├── pom.xml └── src │ └── main │ └── java │ ├── Main.java │ ├── entity │ └── User.java │ └── orm │ ├── Connector.java │ ├── DbContext.java │ ├── EntityManager.java │ └── annotations │ ├── Column.java │ ├── Entity.java │ └── Id.java ├── 02-mini-orm ├── .idea │ ├── .gitignore │ ├── .name │ ├── compiler.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 05753b70-1118-4a46-bd12-472c22713b5d.xml │ │ └── 05753b70-1118-4a46-bd12-472c22713b5d │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ ├── fsl.P40BAA.meta │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── libraries │ │ ├── Maven__com_google_protobuf_protobuf_java_3_11_4.xml │ │ └── Maven__mysql_mysql_connector_java_8_0_21.xml │ ├── misc.xml │ ├── modules.xml │ └── vcs.xml ├── mini-orm.iml ├── pom.xml ├── sql │ └── create-db.sql └── src │ └── main │ └── java │ ├── Main.java │ ├── annotation │ ├── Column.java │ ├── Entity.java │ └── Id.java │ ├── dbContext │ ├── DbContext.java │ └── EntityManager.java │ └── entities │ └── User.java ├── 02-miniorm-lab.iml ├── 02-miniorm-lab ├── .idea │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 28f61e33-b5d2-4531-9e00-b10968486739.xml │ │ └── 28f61e33-b5d2-4531-9e00-b10968486739 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── vcs.xml │ └── workspace.xml ├── pom.xml ├── sql │ └── create-db.sql └── src │ └── main │ └── java │ ├── Main.java │ ├── entity │ └── User.java │ └── orm │ ├── Connector.java │ ├── DbContext.java │ ├── EntityManager.java │ ├── EntityManagerUtils.java │ └── annotation │ ├── Column.java │ ├── Entity.java │ └── Id.java ├── 03-hibernate-intro-lab ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── becc3ac4-09be-49bf-bb21-1cbac41df5d2.xml │ │ ├── becc3ac4-09be-49bf-bb21-1cbac41df5d2 │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ └── information_schema.FNRwLQ.meta │ │ ├── d6dfebb0-8305-4daf-8362-7bc3c2214c18.xml │ │ └── d6dfebb0-8305-4daf-8362-7bc3c2214c18 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── 03-hibernate-intro-lab.iml ├── pom.xml └── src │ └── main │ ├── java │ ├── course │ │ └── springdata │ │ │ └── hibernateintro │ │ │ ├── HibernateIntroMain.java │ │ │ └── entity │ │ │ └── Student.java │ └── test │ │ └── entities │ │ └── Students.java │ └── resources │ ├── hibernate.cfg.xml │ └── student.hbm.xml ├── 03-intro-hibernate ├── .idea │ ├── 03-intro-hibernate.iml │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── b57e5f1e-9f5f-489a-8c0e-ddd4e0cf1023.xml │ │ └── b57e5f1e-9f5f-489a-8c0e-ddd4e0cf1023 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ ├── vcs.xml │ └── workspace.xml ├── pom.xml └── src │ └── main │ ├── java │ └── course │ │ └── springdata │ │ ├── HibernateIntroMain.java │ │ └── entities │ │ └── Student.java │ └── resources │ ├── hibernate.cfg.xml │ └── student.hbm.xml ├── 03-intro-jpa ├── .idea │ ├── 03-intro-hibernate.iml │ ├── 03-intro-jpa.iml │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 1e354ed6-5f0d-4386-8a46-2928957efadc.xml │ │ └── 1e354ed6-5f0d-4386-8a46-2928957efadc │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ ├── vcs.xml │ └── workspace.xml ├── pom.xml ├── sql │ └── soft_uni_database.sql └── src │ └── main │ ├── java │ └── course │ │ └── springdata │ │ ├── JpaIntroMain.java │ │ └── entities │ │ ├── Address.java │ │ ├── Project.java │ │ ├── Town.java │ │ └── User.java │ └── resources │ └── META-INF │ └── persistence.xml ├── 03-jpa-intro-lab ├── .idea │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 2eb4465a-f0a2-44bb-8dd5-2af473a57993.xml │ │ └── 2eb4465a-f0a2-44bb-8dd5-2af473a57993 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ ├── vcs.xml │ └── workspace.xml ├── 03-jpa-intro-lab.iml ├── pom.xml └── src │ └── main │ ├── java │ └── course │ │ └── springdate │ │ └── jpaintro │ │ ├── JpaIntroMain.java │ │ └── entity │ │ ├── Student.java │ │ └── StudentOld.java │ └── resources │ └── META-INF │ └── persistence.xml ├── 04-jpa-codefirst-lab ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 68d97674-fe15-482a-9e9a-7450d63b58f5.xml │ │ └── 68d97674-fe15-482a-9e9a-7450d63b58f5 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ ├── information_schema.FNRwLQ.meta │ │ │ └── vechicles.7A_Zfw.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── 04-jpa-codefirst-lab.iml ├── diagrams │ └── vehicles_ER_diagram.png ├── pom.xml └── src │ └── main │ ├── java │ └── course │ │ └── springdata │ │ └── codefirst │ │ ├── JpaCodeFirstMain.java │ │ └── entity │ │ ├── Car.java │ │ ├── Company.java │ │ ├── Driver.java │ │ ├── Plane.java │ │ ├── PlateNumber.java │ │ ├── Truck.java │ │ └── Vehicle.java │ └── resources │ └── META-INF │ └── persistence.xml ├── 04-jpa-intro ├── .idea │ ├── 04-jpa-intro.iml │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 2eb4465a-f0a2-44bb-8dd5-2af473a57993.xml │ │ ├── 2eb4465a-f0a2-44bb-8dd5-2af473a57993 │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ └── information_schema.FNRwLQ.meta │ │ ├── ca96b322-44e7-4073-b902-bd3bd2bda5c3.xml │ │ └── ca96b322-44e7-4073-b902-bd3bd2bda5c3 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ ├── vcs.xml │ └── workspace.xml ├── 03-jpa-intro-lab.iml ├── pom.xml └── src │ └── main │ ├── java │ └── course │ │ └── springdate │ │ └── jpaintro │ │ ├── JpaCodeFirstMain.java │ │ └── entity │ │ ├── Car.java │ │ ├── Plane.java │ │ ├── PlateNumber.java │ │ ├── Truck.java │ │ └── Vehicle.java │ └── resources │ └── META-INF │ └── persistence.xml ├── 05-restmvc-demo-lab ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── restmvc │ │ │ ├── RestmvcDemoApplication.java │ │ │ ├── config │ │ │ └── SwaggerConfig.java │ │ │ ├── dao │ │ │ └── PostRepository.java │ │ │ ├── entity │ │ │ └── Post.java │ │ │ ├── init │ │ │ └── DataInitializer.java │ │ │ └── web │ │ │ ├── HelloController.java │ │ │ └── PostController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── springdata │ └── restmvc │ └── RestmvcDemoApplicationTests.java ├── 06-springdata-intro-lab ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── intro │ │ │ ├── Application.java │ │ │ ├── dao │ │ │ ├── AccountRepository.java │ │ │ └── UserRepository.java │ │ │ ├── entity │ │ │ ├── Account.java │ │ │ ├── BaseEntity.java │ │ │ └── User.java │ │ │ ├── exception │ │ │ ├── InvalidAccountOperationException.java │ │ │ └── NonexistingEntityException.java │ │ │ ├── init │ │ │ └── ConsoleRunner.java │ │ │ └── service │ │ │ ├── AccountService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ ├── AccountServiceImpl.java │ │ │ └── UserServiceImpl.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── springdata │ └── intro │ └── ApplicationTests.java ├── 06-springdata-intro ├── .gitignore ├── .idea │ ├── compiler.xml │ ├── jarRepositories.xml │ ├── misc.xml │ └── vcs.xml ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── spring │ │ │ └── dataintro │ │ │ ├── Application.java │ │ │ ├── dao │ │ │ ├── AccountRepository.java │ │ │ └── UserRepository.java │ │ │ ├── entity │ │ │ ├── Account.java │ │ │ └── User.java │ │ │ ├── init │ │ │ └── ConsoleRunner.java │ │ │ └── service │ │ │ ├── AccountService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ ├── AccountServiceImpl.java │ │ │ └── UserServiceImpl.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── spring │ └── dataintro │ └── ApplicationTests.java ├── 07-springdata-advanced-lab ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── advanced │ │ │ ├── SpringdataAdvancedApplication.java │ │ │ ├── dao │ │ │ ├── IngredientRepository.java │ │ │ ├── LabelRepository.java │ │ │ └── ShampooRepository.java │ │ │ ├── entity │ │ │ ├── Ingredient.java │ │ │ ├── Label.java │ │ │ ├── Shampoo.java │ │ │ └── Size.java │ │ │ ├── init │ │ │ └── AppInitializer.java │ │ │ └── util │ │ │ └── PrintUtil.java │ └── resources │ │ ├── application.properties │ │ └── shampoos-insert.sql │ └── test │ └── java │ └── course │ └── springdata │ └── advanced │ └── SpringdataAdvancedApplicationTests.java ├── 08-mapping-dto-lab ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── mapping │ │ │ ├── MappingDtoApplication.java │ │ │ ├── dao │ │ │ ├── AddressRepository.java │ │ │ └── EmployeeRepository.java │ │ │ ├── dto │ │ │ ├── AddressDto.java │ │ │ ├── EmployeeDto.java │ │ │ └── ManagerDto.java │ │ │ ├── entity │ │ │ ├── Address.java │ │ │ └── Employee.java │ │ │ ├── exception │ │ │ └── NonexistingEntityException.java │ │ │ ├── init │ │ │ └── AppInitializer.java │ │ │ └── service │ │ │ ├── AddressService.java │ │ │ ├── EmployeeService.java │ │ │ └── impl │ │ │ ├── AddressServiceImpl.java │ │ │ └── EmployeeServiceImpl.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── springdata │ └── mapping │ └── MappingDtoApplicationTests.java ├── 09-json-demo-lab ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── jsondemo │ │ │ ├── Application.java │ │ │ ├── config │ │ │ └── SwaggerConfig.java │ │ │ ├── dao │ │ │ ├── PostRepository.java │ │ │ └── UserRepository.java │ │ │ ├── entity │ │ │ ├── Post.java │ │ │ ├── Role.java │ │ │ └── User.java │ │ │ ├── exception │ │ │ ├── InvalidEntityDataException.java │ │ │ └── NonexisitingEntityException.java │ │ │ ├── gson │ │ │ ├── PostGsonDeserializer.java │ │ │ └── PostGsonSerializer.java │ │ │ ├── init │ │ │ └── DataInitializer.java │ │ │ ├── service │ │ │ ├── PostService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ │ ├── PostServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ ├── GsonPostController.java │ │ │ └── GsonUserController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── springdata │ └── jsondemo │ └── ApplicationTests.java ├── 10-xml-demo-lab ├── .idea │ ├── compiler.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── vcs.xml │ └── workspace.xml ├── person.xml ├── persons.xml ├── pom.xml ├── src │ └── main │ │ └── java │ │ └── course │ │ └── springdata │ │ └── xmldemo │ │ ├── Main.java │ │ └── model │ │ ├── Address.java │ │ ├── Person.java │ │ ├── Persons.java │ │ ├── PhoneNumber.java │ │ └── package-info.java └── xsd │ ├── META-INF │ └── JAXB │ │ └── episode_default-cli.xjb │ └── persons.xsd ├── LICENSE ├── NLTworkshop-next ├── .idea │ ├── artifacts │ │ ├── workshop_war.xml │ │ └── workshop_war_exploded.xml │ ├── checkstyle-idea.xml │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 14866003-36fc-4563-9751-f6e812e907fb.xml │ │ ├── 14866003-36fc-4563-9751-f6e812e907fb │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ ├── car_dealer_db.uTHyyw.meta │ │ │ │ ├── demo_db.WoR8XA.meta │ │ │ │ ├── e_bank_db.h2N49w.meta │ │ │ │ ├── game_store_db.SfYfEw.meta │ │ │ │ ├── heroes_pr_db.BHeFWA.meta │ │ │ │ ├── information_schema.FNRwLQ.meta │ │ │ │ ├── mbnm_db.iT6DMw.meta │ │ │ │ ├── mibank_db.RZxnqA.meta │ │ │ │ ├── product_shop_db.Fz-qDA.meta │ │ │ │ ├── real_deal_exam_db.zGiL3A.meta │ │ │ │ ├── shampoo.b8Vueg.meta │ │ │ │ ├── spring_book_shop.2lJQYw.meta │ │ │ │ ├── work_shop_db.OffQ6w.meta │ │ │ │ └── xmldemo_db.Y7wL0w.meta │ │ ├── 446b4338-2825-421c-b06a-a1c11308190c.xml │ │ └── 446b4338-2825-421c-b06a-a1c11308190c │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── encodings.xml │ ├── jarRepositories.xml │ ├── libraries │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ ├── Maven__com_fasterxml_classmate_1_4_0.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_8.xml │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ ├── Maven__com_sun_xml_bind_jaxb_impl_2_1_2.xml │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ ├── Maven__com_zaxxer_HikariCP_3_2_0.xml │ │ ├── Maven__javax_activation_activation_1_1.xml │ │ ├── Maven__javax_activation_javax_activation_api_1_2_0.xml │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ ├── Maven__javax_el_javax_el_api_3_0_0.xml │ │ ├── Maven__javax_persistence_javax_persistence_api_2_2.xml │ │ ├── Maven__javax_transaction_javax_transaction_api_1_3.xml │ │ ├── Maven__javax_validation_validation_api_2_0_0_Final.xml │ │ ├── Maven__javax_xml_bind_jaxb_api_2_1.xml │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ ├── Maven__junit_junit_4_12.xml │ │ ├── Maven__mysql_mysql_connector_java_8_0_15.xml │ │ ├── Maven__net_bytebuddy_byte_buddy_1_9_10.xml │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_9_10.xml │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_16.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_16.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_16.xml │ │ ├── Maven__org_aspectj_aspectjweaver_1_9_2.xml │ │ ├── Maven__org_assertj_assertj_core_3_11_1.xml │ │ ├── Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml │ │ ├── Maven__org_dom4j_dom4j_2_1_1.xml │ │ ├── Maven__org_glassfish_web_javax_el_2_2_6.xml │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ ├── Maven__org_hibernate_common_hibernate_commons_annotations_5_0_4_Final.xml │ │ ├── Maven__org_hibernate_hibernate_core_5_3_7_Final.xml │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_2_Final.xml │ │ ├── Maven__org_javassist_javassist_3_23_1_GA.xml │ │ ├── Maven__org_jboss_jandex_2_0_5_Final.xml │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ ├── Maven__org_mockito_mockito_core_2_23_4.xml │ │ ├── Maven__org_modelmapper_modelmapper_2_3_0.xml │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ ├── Maven__org_springframework_boot_spring_boot_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_devtools_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_security_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_data_spring_data_commons_2_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_data_spring_data_jpa_2_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_config_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_core_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_test_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_web_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_spring_aop_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_aspects_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_beans_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_context_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_core_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_expression_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_jcl_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_jdbc_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_orm_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_test_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_tx_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_web_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_webmvc_5_1_5_RELEASE.xml │ │ ├── Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_3_RELEASE.xml │ │ ├── Maven__org_thymeleaf_extras_thymeleaf_extras_springsecurity5_3_0_4_RELEASE.xml │ │ ├── Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml │ │ ├── Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml │ │ ├── Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml │ │ ├── Maven__org_xmlunit_xmlunit_core_2_6_2.xml │ │ └── Maven__org_yaml_snakeyaml_1_23.xml │ ├── misc.xml │ ├── modules.xml │ ├── vcs.xml │ └── workspace.xml ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── softuni │ │ │ │ └── workshop │ │ │ │ ├── ServletInitializer.java │ │ │ │ ├── WorkshopApplication.java │ │ │ │ ├── config │ │ │ │ ├── ApplicationBeanConfiguration.java │ │ │ │ └── ApplicationSecurityConfiguration.java │ │ │ │ ├── data │ │ │ │ ├── entities │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── Company.java │ │ │ │ │ ├── Employee.java │ │ │ │ │ ├── Project.java │ │ │ │ │ ├── Role.java │ │ │ │ │ └── User.java │ │ │ │ └── repositories │ │ │ │ │ ├── CompanyRepository.java │ │ │ │ │ ├── EmployeeRepository.java │ │ │ │ │ ├── ProjectRepository.java │ │ │ │ │ ├── RoleRepository.java │ │ │ │ │ └── UserRepository.java │ │ │ │ ├── excepion │ │ │ │ ├── Constants.java │ │ │ │ ├── CustomXmlException.java │ │ │ │ └── EntityNotFoundException.java │ │ │ │ ├── service │ │ │ │ ├── dtos │ │ │ │ │ ├── CompanyDto.java │ │ │ │ │ ├── CompanyRootDto.java │ │ │ │ │ ├── EmployeeDto.java │ │ │ │ │ ├── EmployeeRootDto.java │ │ │ │ │ ├── ProjectDto.java │ │ │ │ │ └── ProjectRootDto.java │ │ │ │ ├── models │ │ │ │ │ ├── RoleServiceModel.java │ │ │ │ │ └── UserServiceModel.java │ │ │ │ └── services │ │ │ │ │ ├── CompanyService.java │ │ │ │ │ ├── EmployeeService.java │ │ │ │ │ ├── ProjectService.java │ │ │ │ │ ├── RoleService.java │ │ │ │ │ ├── UserService.java │ │ │ │ │ └── impl │ │ │ │ │ ├── CompanyServiceImpl.java │ │ │ │ │ ├── EmployeeServiceImpl.java │ │ │ │ │ ├── ProjectServiceImpl.java │ │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ │ └── UserServiceImpl.java │ │ │ │ ├── util │ │ │ │ ├── XmlParser.java │ │ │ │ └── XmlParserImpl.java │ │ │ │ └── web │ │ │ │ ├── controllers │ │ │ │ ├── BaseController.java │ │ │ │ ├── ErrorHandlerControllerAdvise.java │ │ │ │ ├── ExportController.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── ImportController.java │ │ │ │ └── UserController.java │ │ │ │ └── models │ │ │ │ ├── UserLoginModel.java │ │ │ │ └── UserRegisterModel.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── files │ │ │ └── xmls │ │ │ │ ├── companies.xml │ │ │ │ ├── employees.xml │ │ │ │ └── projects.xml │ │ │ ├── static │ │ │ ├── css │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── demo.css │ │ │ │ └── reset-css.css │ │ │ └── js │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ └── jquery-3.3.1.min.js │ │ │ └── templates │ │ │ ├── error.html │ │ │ ├── export │ │ │ ├── export-employees-with-age.html │ │ │ └── export-projects-if-finished.html │ │ │ ├── fragments │ │ │ ├── footer.html │ │ │ ├── head.html │ │ │ └── nav-bar.html │ │ │ ├── home.html │ │ │ ├── index.html │ │ │ ├── user │ │ │ ├── login.html │ │ │ └── register.html │ │ │ └── xml │ │ │ ├── import-companies.html │ │ │ ├── import-employees.html │ │ │ ├── import-projects.html │ │ │ └── import-xml.html │ └── test │ │ └── java │ │ └── softuni │ │ └── workshop │ │ └── WorkshopApplicationTests.java └── workshop.iml ├── NLTworkshop ├── .idea │ ├── artifacts │ │ ├── workshop_war.xml │ │ └── workshop_war_exploded.xml │ ├── checkstyle-idea.xml │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 14866003-36fc-4563-9751-f6e812e907fb.xml │ │ ├── 14866003-36fc-4563-9751-f6e812e907fb │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ ├── information_schema.FNRwLQ.meta │ │ │ │ └── work_shop_db.OffQ6w.meta │ │ ├── b0912d98-8811-49ed-aa54-2d9a3b469104.xml │ │ └── b0912d98-8811-49ed-aa54-2d9a3b469104 │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── encodings.xml │ ├── jarRepositories.xml │ ├── libraries │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ ├── Maven__com_fasterxml_classmate_1_4_0.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_8.xml │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_8.xml │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ ├── Maven__com_sun_xml_bind_jaxb_impl_2_1_2.xml │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ ├── Maven__com_zaxxer_HikariCP_3_2_0.xml │ │ ├── Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml │ │ ├── Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml │ │ ├── Maven__javax_activation_activation_1_1.xml │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ ├── Maven__javax_el_javax_el_api_3_0_0.xml │ │ ├── Maven__javax_validation_validation_api_2_0_0_Final.xml │ │ ├── Maven__javax_xml_bind_jaxb_api_2_1.xml │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ ├── Maven__junit_junit_4_12.xml │ │ ├── Maven__mysql_mysql_connector_java_8_0_15.xml │ │ ├── Maven__net_bytebuddy_byte_buddy_1_9_10.xml │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_9_10.xml │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_2.xml │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_2.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_16.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_16.xml │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_16.xml │ │ ├── Maven__org_aspectj_aspectjweaver_1_9_2.xml │ │ ├── Maven__org_assertj_assertj_core_3_11_1.xml │ │ ├── Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml │ │ ├── Maven__org_dom4j_dom4j_2_1_1.xml │ │ ├── Maven__org_glassfish_web_javax_el_2_2_6.xml │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ ├── Maven__org_hibernate_common_hibernate_commons_annotations_5_0_4_Final.xml │ │ ├── Maven__org_hibernate_hibernate_core_5_3_7_Final.xml │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_2_Final.xml │ │ ├── Maven__org_hibernate_validator_hibernate_validator_annotation_processor_6_0_2_Final.xml │ │ ├── Maven__org_javassist_javassist_3_23_1_GA.xml │ │ ├── Maven__org_jboss_jandex_2_0_5_Final.xml │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ ├── Maven__org_mockito_mockito_core_2_23_4.xml │ │ ├── Maven__org_modelmapper_modelmapper_2_3_0.xml │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ ├── Maven__org_springframework_boot_spring_boot_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_devtools_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_4_0.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_security_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_3_RELEASE.xml │ │ ├── Maven__org_springframework_data_spring_data_commons_2_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_data_spring_data_jpa_2_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_config_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_core_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_test_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_security_spring_security_web_5_1_4_RELEASE.xml │ │ ├── Maven__org_springframework_spring_aop_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_aspects_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_beans_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_context_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_core_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_expression_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_jcl_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_jdbc_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_orm_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_test_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_tx_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_web_5_1_5_RELEASE.xml │ │ ├── Maven__org_springframework_spring_webmvc_5_1_5_RELEASE.xml │ │ ├── Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_3_RELEASE.xml │ │ ├── Maven__org_thymeleaf_extras_thymeleaf_extras_springsecurity5_3_0_4_RELEASE.xml │ │ ├── Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml │ │ ├── Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml │ │ ├── Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml │ │ ├── Maven__org_xmlunit_xmlunit_core_2_6_2.xml │ │ └── Maven__org_yaml_snakeyaml_1_23.xml │ ├── misc.xml │ ├── modules.xml │ ├── vcs.xml │ └── workspace.xml ├── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── softuni │ │ │ │ └── workshop │ │ │ │ ├── ServletInitializer.java │ │ │ │ ├── WorkshopApplication.java │ │ │ │ ├── config │ │ │ │ ├── ApplicationBeanConfiguration.java │ │ │ │ └── ApplicationSecurityConfiguration.java │ │ │ │ ├── data │ │ │ │ ├── entities │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ ├── Company.java │ │ │ │ │ ├── Employee.java │ │ │ │ │ ├── Project.java │ │ │ │ │ ├── Role.java │ │ │ │ │ └── User.java │ │ │ │ └── repositories │ │ │ │ │ ├── CompanyRepository.java │ │ │ │ │ ├── EmployeeRepository.java │ │ │ │ │ ├── ProjectRepository.java │ │ │ │ │ ├── RoleRepository.java │ │ │ │ │ └── UserRepository.java │ │ │ │ ├── exceptions │ │ │ │ ├── Constants.java │ │ │ │ ├── CustomXmlException.java │ │ │ │ └── EntityNotFoundException.java │ │ │ │ ├── service │ │ │ │ ├── dtos │ │ │ │ │ ├── CompanyDto.java │ │ │ │ │ ├── CompanyRootDto.java │ │ │ │ │ ├── EmployeeDto.java │ │ │ │ │ ├── EmployeeRootDto.java │ │ │ │ │ ├── ProjectDto.java │ │ │ │ │ └── ProjectRootDto.java │ │ │ │ ├── models │ │ │ │ │ ├── RoleServiceModel.java │ │ │ │ │ └── UserServiceModel.java │ │ │ │ └── services │ │ │ │ │ ├── CompanyService.java │ │ │ │ │ ├── EmployeeService.java │ │ │ │ │ ├── ProjectService.java │ │ │ │ │ ├── RoleService.java │ │ │ │ │ ├── UserService.java │ │ │ │ │ └── impl │ │ │ │ │ ├── CompanyServiceImpl.java │ │ │ │ │ ├── EmployeeServiceImpl.java │ │ │ │ │ ├── ProjectServiceImpl.java │ │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ │ └── UserServiceImpl.java │ │ │ │ ├── util │ │ │ │ ├── XmlParser.java │ │ │ │ └── XmlParserImpl.java │ │ │ │ └── web │ │ │ │ ├── controllers │ │ │ │ ├── BaseController.java │ │ │ │ ├── ErrorHandlerControllerAdvice.java │ │ │ │ ├── ExportController.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── ImportController.java │ │ │ │ └── UserController.java │ │ │ │ └── models │ │ │ │ ├── UserLoginModel.java │ │ │ │ └── UserRegisterModel.java │ │ └── resources │ │ │ ├── application.properties │ │ │ ├── files │ │ │ └── xmls │ │ │ │ ├── companies.xml │ │ │ │ ├── employees.xml │ │ │ │ └── projects.xml │ │ │ ├── static │ │ │ ├── css │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── demo.css │ │ │ │ └── reset-css.css │ │ │ └── js │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ └── jquery-3.3.1.min.js │ │ │ └── templates │ │ │ ├── error.html │ │ │ ├── export │ │ │ ├── export-employees-with-age.html │ │ │ └── export-projects-if-finished.html │ │ │ ├── fragments │ │ │ ├── footer.html │ │ │ ├── head.html │ │ │ └── nav-bar.html │ │ │ ├── home.html │ │ │ ├── index.html │ │ │ ├── user │ │ │ ├── login.html │ │ │ └── register.html │ │ │ └── xml │ │ │ ├── import-companies.html │ │ │ ├── import-employees.html │ │ │ ├── import-projects.html │ │ │ └── import-xml.html │ └── test │ │ └── java │ │ └── softuni │ │ └── workshop │ │ └── WorkshopApplicationTests.java └── workshop.iml ├── README.md ├── advanced-quering ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── advanced │ │ │ ├── AdvancedQueringApplication.java │ │ │ ├── AppInitializer.java │ │ │ ├── entities │ │ │ ├── Ingredient.java │ │ │ ├── Label.java │ │ │ ├── Shampoo.java │ │ │ └── Size.java │ │ │ └── repositories │ │ │ ├── IngredientRepository.java │ │ │ ├── LabelRepository.java │ │ │ └── ShampooRepository.java │ └── resources │ │ ├── application.properties │ │ └── shampoos-insert.sql │ └── test │ └── java │ └── demos │ └── springdata │ └── advanced │ └── AdvancedQueringApplicationTests.java ├── advanced-query ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── advanced │ │ │ ├── AdvancedQueryApplication.java │ │ │ ├── AppInitializer.java │ │ │ ├── dao │ │ │ ├── IngredientRepository.java │ │ │ ├── LabelRepository.java │ │ │ └── ShampooRepository.java │ │ │ └── entity │ │ │ ├── Ingredient.java │ │ │ ├── Label.java │ │ │ ├── Shampoo.java │ │ │ └── Size.java │ └── resources │ │ ├── application.properties │ │ └── shampoos-insert.sql │ └── test │ └── java │ └── demos │ └── springdata │ └── advanced │ └── AdvancedQueryApplicationTests.java ├── dto-mapping ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── course │ │ │ └── springdata │ │ │ └── mapping │ │ │ ├── DtoMappingApplication.java │ │ │ ├── dao │ │ │ ├── AddressRepository.java │ │ │ └── EmployeeRepository.java │ │ │ ├── dto │ │ │ ├── EmployeeDto.java │ │ │ └── ManagerDto.java │ │ │ ├── entity │ │ │ ├── Address.java │ │ │ └── Employee.java │ │ │ ├── exception │ │ │ └── NonexistingEntityException.java │ │ │ ├── init │ │ │ └── AppInitializer.java │ │ │ └── service │ │ │ ├── AddressService.java │ │ │ ├── EmployeeService.java │ │ │ └── impl │ │ │ ├── AddressServiceImpl.java │ │ │ └── EmployeeServiceImpl.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── course │ └── springdata │ └── mapping │ └── DtoMappingApplicationTests.java ├── introduction-to-hibernate ├── .idea │ ├── compiler.xml │ ├── dataSources.local.xml │ ├── dataSources.xml │ ├── dataSources │ │ ├── 07aa115e-b683-4055-8d8b-39bdcd29a24f.xml │ │ ├── 07aa115e-b683-4055-8d8b-39bdcd29a24f │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ └── information_schema.FNRwLQ.meta │ │ ├── 613c024a-d5de-47f5-9b41-7cf2af402175.xml │ │ ├── 613c024a-d5de-47f5-9b41-7cf2af402175 │ │ │ └── storage_v2 │ │ │ │ └── _src_ │ │ │ │ └── schema │ │ │ │ └── information_schema.FNRwLQ.meta │ │ ├── 71f6c435-b220-4aa1-8047-d3e6342117be.xml │ │ └── 71f6c435-b220-4aa1-8047-d3e6342117be │ │ │ └── storage_v2 │ │ │ └── _src_ │ │ │ └── schema │ │ │ └── information_schema.FNRwLQ.meta │ ├── introduction-to-hibernate.iml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ ├── vcs.xml │ └── workspace.xml ├── introduction-to-hibernate.iml ├── pom.xml └── src │ └── main │ ├── java │ └── demos │ │ └── hibernate │ │ ├── HibernateDemoMain.java │ │ └── model │ │ └── Student.java │ └── resources │ ├── db.properties │ ├── hibernate.cfg.xml │ └── student.hbm.xml ├── introduction-to-jdbc ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── dataSources.xml │ ├── libraries │ │ └── mysql_connector_java_8_0_18.xml │ ├── misc.xml │ ├── modules.xml │ └── sqldialects.xml ├── JdbcIntro.iml ├── lib │ ├── mysql-connector-java-8.0.19.jar │ └── mysql-connector-java-8.0.21.jar ├── out │ └── production │ │ └── JdbcIntro │ │ ├── db.properties │ │ └── demo │ │ ├── Main.class │ │ └── Main2.class ├── sql │ └── employees_database.sql └── src │ ├── db.properties │ └── demo │ ├── Main.java │ ├── Main2.java │ └── MainDiablo.java ├── introduction-to-jpa ├── .idea │ ├── .gitignore │ ├── META-INF │ │ └── persistence.xml │ ├── compiler.xml │ ├── dataSources.xml │ ├── introduction-to-jpa.iml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── introduction-to-jpa.iml ├── pom.xml └── src │ └── main │ ├── java │ └── demos │ │ └── hibernate │ │ ├── JpaDemoMain.java │ │ └── entity │ │ └── User.java │ └── resources │ └── META-INF │ └── persistence.xml ├── jooq-streams-demo ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── jooq-streams-demo.iml ├── pom.xml └── src │ └── main │ ├── java │ ├── 01-jdbc-intro.iml │ └── jooqstreams │ │ └── DiabloGames.java │ └── resources │ └── jdbc.properties ├── pom.xml ├── rest-demo-final ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── restdemo │ │ │ ├── RestDemoApplication.java │ │ │ ├── config │ │ │ ├── SpringSecurityConfig.java │ │ │ └── SwaggerConfig.java │ │ │ ├── dao │ │ │ ├── PostRepository.java │ │ │ └── UserRepository.java │ │ │ ├── events │ │ │ ├── PostCreationEvent.java │ │ │ └── UserCreationEvent.java │ │ │ ├── exception │ │ │ ├── EntityNotFoundException.java │ │ │ └── InvalidEntityException.java │ │ │ ├── gson │ │ │ ├── PostGsonDeserializer.java │ │ │ └── PostGsonSerializer.java │ │ │ ├── init │ │ │ └── DataInitializer.java │ │ │ ├── model │ │ │ ├── Credentials.java │ │ │ ├── ErrorResponse.java │ │ │ ├── JwtResponse.java │ │ │ ├── Post.java │ │ │ ├── User.java │ │ │ └── Views.java │ │ │ ├── service │ │ │ ├── PostService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ │ ├── PostServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ ├── util │ │ │ └── JwtUtils.java │ │ │ └── web │ │ │ ├── ExceptionHandlerControllerAdvice.java │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ ├── JwtRequestFilter.java │ │ │ ├── LoginController.java │ │ │ ├── PostController.java │ │ │ ├── SimplePostController.java │ │ │ └── UserController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── demos │ └── springdata │ └── restdemo │ └── RestDemoApplicationTests.java ├── rest-demo-jsclient ├── .env ├── .gitignore ├── .idea │ ├── .gitignore │ ├── compiler.xml │ ├── inspectionProfiles │ │ └── Project_Default.xml │ ├── misc.xml │ ├── modules.xml │ ├── rest-demo-jsclient.iml │ ├── vcs.xml │ └── workspace.xml ├── README.md ├── package-lock.json ├── package.json ├── public │ ├── css │ │ ├── materialize.css │ │ └── materialize.min.css │ ├── favicon.ico │ ├── img │ │ └── reading.png │ ├── index.html │ ├── js │ │ ├── materialize.js │ │ └── materialize.min.js │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── BlogAPI.js │ ├── Footer.js │ ├── Header.js │ ├── Login.css │ ├── Login.js │ ├── Nav.css │ ├── Nav.js │ ├── Post.css │ ├── Post.js │ ├── PostForm.css │ ├── PostForm.js │ ├── PostList.js │ ├── Register.css │ ├── Register.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ ├── mock-posts.js │ ├── serviceWorker.js │ └── setupTests.js └── yarn.lock ├── rest-demo-master ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── jsondemo │ │ │ ├── JsonDemoApplication.java │ │ │ ├── config │ │ │ ├── SpringSecurityConfig.java │ │ │ └── SwaggerConfig.java │ │ │ ├── dao │ │ │ ├── PostRepository.java │ │ │ └── UserRepository.java │ │ │ ├── events │ │ │ ├── PostCreationEvent.java │ │ │ └── UserCreationEvent.java │ │ │ ├── exception │ │ │ ├── EntityNotFoundException.java │ │ │ └── InvalidEntityException.java │ │ │ ├── gson │ │ │ ├── PostGsonDeserializer.java │ │ │ └── PostGsonSerializer.java │ │ │ ├── init │ │ │ └── DataInitializer.java │ │ │ ├── model │ │ │ ├── Post.java │ │ │ ├── User.java │ │ │ └── Views.java │ │ │ ├── service │ │ │ ├── PostService.java │ │ │ ├── PostServiceImpl.java │ │ │ ├── UserService.java │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ ├── ExceptionHandlerControllerAdvice.java │ │ │ ├── PostController.java │ │ │ ├── SimplePostController.java │ │ │ └── UserController.java │ └── resources │ │ ├── application.properties │ │ └── insert-data.sql │ └── test │ └── java │ └── demos │ └── springdata │ └── jsondemo │ └── JsonDemoApplicationTests.java ├── rest-demo ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── restdemo │ │ │ ├── RestDemoApplication.java │ │ │ ├── config │ │ │ ├── SwaggerConfig.java │ │ │ └── WebConfig.java │ │ │ ├── dao │ │ │ ├── PostRepository.java │ │ │ └── UserRepository.java │ │ │ ├── exception │ │ │ ├── EntityNotFoundException.java │ │ │ └── InvalidEntityException.java │ │ │ ├── gson │ │ │ ├── PostGsonDeserializer.java │ │ │ └── PostGsonSerializer.java │ │ │ ├── init │ │ │ └── DataInitializer.java │ │ │ ├── model │ │ │ ├── ErrorResponse.java │ │ │ ├── Post.java │ │ │ ├── User.java │ │ │ └── Views.java │ │ │ ├── service │ │ │ ├── PostService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ │ ├── PostServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ ├── ExceptionHandlerControllerAdvice.java │ │ │ ├── PostController.java │ │ │ ├── SimplePostController.java │ │ │ └── UserController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── demos │ └── springdata │ └── restdemo │ └── RestDemoApplicationTests.java ├── springdata-intro ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── demos │ │ │ └── springdata │ │ │ └── springdataintro │ │ │ ├── SpringdataIntroApplication.java │ │ │ ├── config │ │ │ └── HttpTraceActuatorConfiguration.java │ │ │ ├── dao │ │ │ ├── CourseRepository.java │ │ │ └── StudentRepository.java │ │ │ └── model │ │ │ ├── Course.java │ │ │ └── Student.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── demos │ └── springdata │ └── springdataintro │ └── SpringdataIntroApplicationTests.java └── springdata-intro2 ├── .gitignore ├── .idea ├── .gitignore ├── compiler.xml ├── dataSources.xml ├── encodings.xml ├── libraries │ ├── Maven__antlr_antlr_2_7_7.xml │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ ├── Maven__com_fasterxml_classmate_1_5_1.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_2.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_10_2.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_10_2.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_2.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_2.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_2.xml │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ ├── Maven__com_sun_istack_istack_commons_runtime_3_0_8.xml │ ├── Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_16.xml │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ ├── Maven__com_zaxxer_HikariCP_3_4_2.xml │ ├── Maven__io_micrometer_micrometer_core_1_3_5.xml │ ├── Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml │ ├── Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml │ ├── Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml │ ├── Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml │ ├── Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml │ ├── Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml │ ├── Maven__mysql_mysql_connector_java_8_0_19.xml │ ├── Maven__net_bytebuddy_byte_buddy_1_10_8.xml │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ ├── Maven__net_minidev_json_smart_2_3.xml │ ├── Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_31.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_31.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_31.xml │ ├── Maven__org_apiguardian_apiguardian_api_1_1_0.xml │ ├── Maven__org_aspectj_aspectjweaver_1_9_5.xml │ ├── Maven__org_assertj_assertj_core_3_13_2.xml │ ├── Maven__org_dom4j_dom4j_2_1_1.xml │ ├── Maven__org_glassfish_jaxb_jaxb_runtime_2_3_2.xml │ ├── Maven__org_glassfish_jaxb_txw2_2_3_2.xml │ ├── Maven__org_hamcrest_hamcrest_2_1.xml │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_11.xml │ ├── Maven__org_hibernate_common_hibernate_commons_annotations_5_1_0_Final.xml │ ├── Maven__org_hibernate_hibernate_core_5_4_12_Final.xml │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml │ ├── Maven__org_javassist_javassist_3_24_0_GA.xml │ ├── Maven__org_jboss_jandex_2_1_1_Final.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml │ ├── Maven__org_junit_platform_junit_platform_commons_1_5_2.xml │ ├── Maven__org_junit_platform_junit_platform_engine_1_5_2.xml │ ├── Maven__org_jvnet_staxex_stax_ex_1_8_1.xml │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ ├── Maven__org_mockito_mockito_core_3_1_0.xml │ ├── Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml │ ├── Maven__org_objenesis_objenesis_2_6.xml │ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ ├── Maven__org_projectlombok_lombok_1_18_12.xml │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_30.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_30.xml │ ├── Maven__org_springframework_boot_spring_boot_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_devtools_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_validation_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_commons_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_data_spring_data_jpa_2_2_5_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_aspects_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_beans_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_context_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_core_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_expression_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_jcl_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_jdbc_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_orm_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_test_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_tx_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_web_5_2_4_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_5_2_4_RELEASE.xml │ ├── Maven__org_xmlunit_xmlunit_core_2_6_3.xml │ └── Maven__org_yaml_snakeyaml_1_25.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── demos │ │ └── springdata │ │ └── springdataintro │ │ ├── SpringdataIntroApplication.java │ │ ├── dao │ │ ├── AccountRepository.java │ │ └── UserRepository.java │ │ ├── domain │ │ ├── AccountService.java │ │ ├── AccountServiceImpl.java │ │ ├── UserService.java │ │ └── UserServiceImpl.java │ │ ├── exception │ │ └── IllegalBankOperationException.java │ │ ├── init │ │ └── AccountsDemoRunner.java │ │ └── model │ │ ├── Account.java │ │ └── User.java └── resources │ └── application.properties └── test └── java └── demos └── springdata └── springdataintro └── SpringdataIntroApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | pom.xml.tag 3 | pom.xml.releaseBackup 4 | pom.xml.versionsBackup 5 | pom.xml.next 6 | release.properties 7 | dependency-reduced-pom.xml 8 | buildNumber.properties 9 | .mvn/timing.properties 10 | # https://github.com/takari/maven-wrapper#usage-without-binary-jar 11 | .mvn/wrapper/maven-wrapper.jar 12 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /../../../../../../:\CourseSpringData\git\spring-data\01-jdbc-intro-lab\.idea/dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/.name: -------------------------------------------------------------------------------- 1 | 01-jdbc-intro -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/dataSources/6dd2237a-a896-4bf5-8f3b-331ac4c9dadd/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/dataSources/7b46b487-7945-4a3f-9c69-8b557ba02272/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/libraries/mysql_connector_java_8_0_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/01-jdbc-intro.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/lib/mysql-connector-java-8.0.21.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/01-jdbc-intro-lab/lib/mysql-connector-java-8.0.21.jar -------------------------------------------------------------------------------- /01-jdbc-intro-lab/out/production/01-jdbc-intro/jdbc.properties: -------------------------------------------------------------------------------- 1 | db.driver=com.mysql.cj.jdbc.Driver 2 | db.url=jdbc:mysql://localhost:3306/diablo?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 3 | db.user=root 4 | db.password=root 5 | 6 | sql.games=SELECT u.id, first_name, last_name, COUNT(*) count FROM users u JOIN users_games ug ON u.id = ug.user_id WHERE user_name = ? 7 | 8 | 9 | -------------------------------------------------------------------------------- /01-jdbc-intro-lab/out/production/01-jdbc-intro/jdbcdemo/DiabloGames.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/01-jdbc-intro-lab/out/production/01-jdbc-intro/jdbcdemo/DiabloGames.class -------------------------------------------------------------------------------- /01-jdbc-intro-lab/out/production/01-jdbc-intro/jdbcdemo/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/01-jdbc-intro-lab/out/production/01-jdbc-intro/jdbcdemo/Main.class -------------------------------------------------------------------------------- /01-jdbc-intro-lab/src/jdbc.properties: -------------------------------------------------------------------------------- 1 | db.driver=com.mysql.cj.jdbc.Driver 2 | db.url=jdbc:mysql://localhost:3306/diablo?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 3 | db.user=root 4 | db.password=root 5 | 6 | sql.games=SELECT u.id, first_name, last_name, COUNT(*) count FROM users u JOIN users_games ug ON u.id = ug.user_id WHERE user_name = ? 7 | 8 | 9 | -------------------------------------------------------------------------------- /01-jdbc-intro/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01-jdbc-intro/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /01-jdbc-intro/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /01-jdbc-intro/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /01-jdbc-intro/01-jdbc-intro.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /02-mini-orm-lab/.idea/.name: -------------------------------------------------------------------------------- 1 | mini-orm -------------------------------------------------------------------------------- /02-mini-orm-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /02-mini-orm-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /02-mini-orm-lab/mini-orm.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /02-mini-orm-lab/src/main/java/orm/annotations/Column.java: -------------------------------------------------------------------------------- 1 | package orm.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Column { 8 | String name(); 9 | } 10 | -------------------------------------------------------------------------------- /02-mini-orm-lab/src/main/java/orm/annotations/Entity.java: -------------------------------------------------------------------------------- 1 | package orm.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Entity { 8 | String name(); 9 | } 10 | -------------------------------------------------------------------------------- /02-mini-orm-lab/src/main/java/orm/annotations/Id.java: -------------------------------------------------------------------------------- 1 | package orm.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Id { 8 | } 9 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /../../../../../../../../../../../../../:\CourseSpringData\Materials\21.10.2020\svn.softuni.org\admin\svn\java-databases\Sept-2020\SpringData\02. Custom ORM Workshop\02mini-orm\.idea/dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/.name: -------------------------------------------------------------------------------- 1 | mini-orm -------------------------------------------------------------------------------- /02-mini-orm/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/fsd 9 | 10 | 11 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/dataSources/05753b70-1118-4a46-bd12-472c22713b5d/storage_v2/_src_/schema/fsl.P40BAA.meta: -------------------------------------------------------------------------------- 1 | #n:fsl 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/dataSources/05753b70-1118-4a46-bd12-472c22713b5d/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02-mini-orm/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /02-mini-orm/sql/create-db.sql: -------------------------------------------------------------------------------- 1 | DROP DATABASE IF EXISTS `fsd`; 2 | CREATE DATABASE `fsd` CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; 3 | USE `fsd`; 4 | 5 | CREATE TABLE `users` ( 6 | `id` int(11) NOT NULL AUTO_INCREMENT, 7 | `username` varchar(30) NOT NULL, 8 | `password` varchar(80) NOT NULL, 9 | `age` int(8) DEFAULT NULL, 10 | `registration_date` date DEFAULT NULL, 11 | PRIMARY KEY (`id`) 12 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; 13 | -------------------------------------------------------------------------------- /02-mini-orm/src/main/java/annotation/Column.java: -------------------------------------------------------------------------------- 1 | package annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface Column { 11 | 12 | String name(); 13 | } 14 | -------------------------------------------------------------------------------- /02-mini-orm/src/main/java/annotation/Entity.java: -------------------------------------------------------------------------------- 1 | package annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Entity { 8 | String name(); 9 | } 10 | -------------------------------------------------------------------------------- /02-mini-orm/src/main/java/annotation/Id.java: -------------------------------------------------------------------------------- 1 | package annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Id { 8 | } 9 | -------------------------------------------------------------------------------- /02-miniorm-lab.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /02-miniorm-lab/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/fsd 9 | 10 | 11 | -------------------------------------------------------------------------------- /02-miniorm-lab/.idea/dataSources/28f61e33-b5d2-4531-9e00-b10968486739/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /02-miniorm-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /02-miniorm-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /02-miniorm-lab/sql/create-db.sql: -------------------------------------------------------------------------------- 1 | DROP DATABASE IF EXISTS `fsd`; 2 | CREATE DATABASE `fsd` CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; 3 | USE `fsd`; 4 | 5 | CREATE TABLE `users` ( 6 | `id` int(11) NOT NULL AUTO_INCREMENT, 7 | `username` varchar(30) NOT NULL, 8 | `password` varchar(80) NOT NULL, 9 | `age` int(8) DEFAULT NULL, 10 | `registration_date` date DEFAULT NULL, 11 | PRIMARY KEY (`id`) 12 | ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; 13 | -------------------------------------------------------------------------------- /02-miniorm-lab/src/main/java/orm/annotation/Column.java: -------------------------------------------------------------------------------- 1 | package orm.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface Column { 11 | String name(); 12 | } 13 | -------------------------------------------------------------------------------- /02-miniorm-lab/src/main/java/orm/annotation/Entity.java: -------------------------------------------------------------------------------- 1 | package orm.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface Entity { 11 | String name() default ""; 12 | } 13 | -------------------------------------------------------------------------------- /02-miniorm-lab/src/main/java/orm/annotation/Id.java: -------------------------------------------------------------------------------- 1 | package orm.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface Id { 11 | } 12 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /../../../../../../:\CourseSpringData\git\spring-data\03-hibernate-intro-lab\.idea/dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/.idea/dataSources/becc3ac4-09be-49bf-bb21-1cbac41df5d2/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/.idea/dataSources/d6dfebb0-8305-4daf-8362-7bc3c2214c18/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /03-hibernate-intro-lab/03-hibernate-intro-lab.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /03-intro-hibernate/.idea/03-intro-hibernate.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /03-intro-hibernate/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/school 9 | 10 | 11 | -------------------------------------------------------------------------------- /03-intro-hibernate/.idea/dataSources/b57e5f1e-9f5f-489a-8c0e-ddd4e0cf1023/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /03-intro-hibernate/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /03-intro-hibernate/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /03-intro-hibernate/src/main/java/course/springdata/entities/Student.java: -------------------------------------------------------------------------------- 1 | package course.springdata.entities; 2 | 3 | import lombok.*; 4 | 5 | import java.util.Date; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @RequiredArgsConstructor 10 | @AllArgsConstructor 11 | public class Student { 12 | private int id; 13 | @NonNull 14 | private String name; 15 | private Date registrationDate = new Date(); 16 | } 17 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/03-intro-hibernate.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/03-intro-jpa.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/school 9 | 10 | 11 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/dataSources/1e354ed6-5f0d-4386-8a46-2928957efadc/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /03-intro-jpa/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /03-jpa-intro-lab/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/school_jpa 9 | 10 | 11 | -------------------------------------------------------------------------------- /03-jpa-intro-lab/.idea/dataSources/2eb4465a-f0a2-44bb-8dd5-2af473a57993/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /03-jpa-intro-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /03-jpa-intro-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /../../../../../../:\CourseSpringData\git\spring-data\04-jpa-codefirst-lab\.idea/dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/vehicles 9 | 10 | 11 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/dataSources/68d97674-fe15-482a-9e9a-7450d63b58f5/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/dataSources/68d97674-fe15-482a-9e9a-7450d63b58f5/storage_v2/_src_/schema/vechicles.7A_Zfw.meta: -------------------------------------------------------------------------------- 1 | #n:vechicles 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /04-jpa-codefirst-lab/diagrams/vehicles_ER_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/04-jpa-codefirst-lab/diagrams/vehicles_ER_diagram.png -------------------------------------------------------------------------------- /04-jpa-intro/.idea/04-jpa-intro.iml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /04-jpa-intro/.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://localhost:3306/vehicles 9 | 10 | 11 | -------------------------------------------------------------------------------- /04-jpa-intro/.idea/dataSources/2eb4465a-f0a2-44bb-8dd5-2af473a57993/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /04-jpa-intro/.idea/dataSources/ca96b322-44e7-4073-b902-bd3bd2bda5c3/storage_v2/_src_/schema/information_schema.FNRwLQ.meta: -------------------------------------------------------------------------------- 1 | #n:information_schema 2 | ! [null, 0, null, null, -2147483648, -2147483648] 3 | -------------------------------------------------------------------------------- /04-jpa-intro/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /04-jpa-intro/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /04-jpa-intro/src/main/java/course/springdate/jpaintro/entity/PlateNumber.java: -------------------------------------------------------------------------------- 1 | package course.springdate.jpaintro.entity; 2 | 3 | import lombok.*; 4 | 5 | import javax.persistence.*; 6 | 7 | @Entity 8 | @Table(name = "plate_numbers") 9 | @Data 10 | @NoArgsConstructor 11 | @RequiredArgsConstructor 12 | @AllArgsConstructor 13 | public class PlateNumber { 14 | @Id 15 | private Long id; 16 | 17 | @OneToOne 18 | @JoinColumn(name = "id") 19 | @MapsId 20 | @NonNull 21 | @ToString.Exclude 22 | private Car car; 23 | } 24 | -------------------------------------------------------------------------------- /05-restmvc-demo-lab/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /05-restmvc-demo-lab/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/05-restmvc-demo-lab/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /05-restmvc-demo-lab/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /05-restmvc-demo-lab/src/main/java/course/springdata/restmvc/RestmvcDemoApplication.java: -------------------------------------------------------------------------------- 1 | package course.springdata.restmvc; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class RestmvcDemoApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(RestmvcDemoApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /05-restmvc-demo-lab/src/main/java/course/springdata/restmvc/dao/PostRepository.java: -------------------------------------------------------------------------------- 1 | package course.springdata.restmvc.dao; 2 | 3 | import course.springdata.restmvc.entity.Post; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface PostRepository extends JpaRepository {} 7 | -------------------------------------------------------------------------------- /05-restmvc-demo-lab/src/test/java/course/springdata/restmvc/RestmvcDemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package course.springdata.restmvc; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class RestmvcDemoApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/06-springdata-intro-lab/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /06-springdata-intro-lab/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/Application.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Application.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/dao/AccountRepository.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro.dao; 2 | 3 | import course.springdata.intro.entity.Account; 4 | import course.springdata.intro.entity.User; 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | public interface AccountRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/dao/UserRepository.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro.dao; 2 | 3 | import course.springdata.intro.entity.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | public interface UserRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro.entity; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | 6 | import javax.persistence.GeneratedValue; 7 | import javax.persistence.GenerationType; 8 | import javax.persistence.Id; 9 | import javax.persistence.MappedSuperclass; 10 | 11 | @MappedSuperclass 12 | @Data 13 | @EqualsAndHashCode(onlyExplicitlyIncluded = true) 14 | public class BaseEntity { 15 | @Id 16 | @GeneratedValue(strategy = GenerationType.IDENTITY) 17 | @EqualsAndHashCode.Include 18 | private Long id; 19 | } 20 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/exception/NonexistingEntityException.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro.exception; 2 | 3 | public class NonexistingEntityException extends RuntimeException { 4 | public NonexistingEntityException() { 5 | } 6 | 7 | public NonexistingEntityException(String message) { 8 | super(message); 9 | } 10 | 11 | public NonexistingEntityException(String message, Throwable cause) { 12 | super(message, cause); 13 | } 14 | 15 | public NonexistingEntityException(Throwable cause) { 16 | super(cause); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/main/java/course/springdata/intro/service/UserService.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro.service; 2 | 3 | import course.springdata.intro.entity.User; 4 | 5 | public interface UserService { 6 | User register(User user); 7 | } 8 | -------------------------------------------------------------------------------- /06-springdata-intro-lab/src/test/java/course/springdata/intro/ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package course.springdata.intro; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /06-springdata-intro/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /06-springdata-intro/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /06-springdata-intro/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /06-springdata-intro/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/06-springdata-intro/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /06-springdata-intro/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /06-springdata-intro/src/main/java/course/spring/dataintro/Application.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Application.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /06-springdata-intro/src/main/java/course/spring/dataintro/dao/AccountRepository.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro.dao; 2 | 3 | import course.spring.dataintro.entity.Account; 4 | import course.spring.dataintro.entity.User; 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | public interface AccountRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /06-springdata-intro/src/main/java/course/spring/dataintro/dao/UserRepository.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro.dao; 2 | 3 | import course.spring.dataintro.entity.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface UserRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /06-springdata-intro/src/main/java/course/spring/dataintro/service/AccountService.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro.service; 2 | 3 | import course.spring.dataintro.entity.Account; 4 | import course.spring.dataintro.entity.User; 5 | 6 | import java.math.BigDecimal; 7 | import java.util.List; 8 | 9 | public interface AccountService { 10 | List getAllAccounts(); 11 | void withdrawMoney(BigDecimal amount, Long id); 12 | void depositMoney(BigDecimal amount, Long id); 13 | void transferMoney(BigDecimal amount, Long fromId, Long toId); 14 | 15 | Account createUserAccount(User user, Account account); 16 | } 17 | -------------------------------------------------------------------------------- /06-springdata-intro/src/main/java/course/spring/dataintro/service/UserService.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro.service; 2 | 3 | import course.spring.dataintro.entity.User; 4 | 5 | public interface UserService { 6 | void registerUser(User user); 7 | } 8 | -------------------------------------------------------------------------------- /06-springdata-intro/src/test/java/course/spring/dataintro/ApplicationTests.java: -------------------------------------------------------------------------------- 1 | package course.spring.dataintro; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class ApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /07-springdata-advanced-lab/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /07-springdata-advanced-lab/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iproduct/spring-data/6bb83d5848d3783cbcdcb569546e58256690f3af/07-springdata-advanced-lab/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /07-springdata-advanced-lab/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /07-springdata-advanced-lab/src/main/java/course/springdata/advanced/SpringdataAdvancedApplication.java: -------------------------------------------------------------------------------- 1 | package course.springdata.advanced; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SpringdataAdvancedApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SpringdataAdvancedApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /07-springdata-advanced-lab/src/main/java/course/springdata/advanced/dao/LabelRepository.java: -------------------------------------------------------------------------------- 1 | package course.springdata.advanced.dao; 2 | 3 | import course.springdata.advanced.entity.Label; 4 | import course.springdata.advanced.entity.Shampoo; 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.Optional; 9 | 10 | @Repository 11 | public interface LabelRepository extends JpaRepository { 12 | Optional