Thanks for the step by step execution dear Friend! Actually, I have downloaded a copy but it was not working for me. when I watched this video I corrected a few things in the code and it was working fantastically.
However, I would like to know how to send data as a JSON to the endpoint? because what I could see is that passing the values to Model classes in a program itself. I want to know how to do it dynamically at run time with postman?
@@vijayakumarkrishnan9269 this is backend code that's why I tried with postman but if you want data in real time scenario then it should be pass through client (angular, Ajax)
@@Javatechie Yes, exactly, I have a client app which submits the data from a web form to backend endpoint via Ajax post. but would like to know how to process Ajax data in backend repository code or in the controller.
Thank you so much sir for your hard efforts for us to make us with easy learn. Awesome and very helpful videos and you also explain the concept very well. Thanks , i took reference of your this code and videos to implement my task, now i need to connect my API with 3 database as @primary will help for between two database .. as for three database i am getting , how i can mange it with qualifier or any other ways for the same. Thanks for your hard efforts as you bring knowledgeable videos. Thanks.
Very nice Explanation.. Requesting you to pl. make a similar 30 minute video including code example for distributed transaction management using Spring Boot microservice. Thanks!
Awesome :) Exactly what I am looking for :) Thanks a lot With the reference of this I am able to integrate Spring boot with MySQL and Neo4j repositories at the same time.
Nice Video could you please clarify the below points 1. (23:24) in persistanceUnit("Book") we configure for one table entity, what if the db have some 10 tables how to configure all of them 2. And you created Repository by extending Jparepository what if we want to interact with 10 tables in that Db. 3. is there any way to configure EntityManager per datasource so that we can interact with all tables in that datasource? Please explain these points.
i didn't understand onepoint; there are two entityManagerFactory in 2 db config class. What if we have so many entity classes and repo classes in the project? do we need to create config file for every single model class that we have ?
Hi, Java Techi, Thank you for your video, I have a doubt I configured just like you with customer and order in two different DB and they are in one to many relation so when I set scan packages to com.example in config I'am able to create table but all tables are getting created in both DB how do I resolve that and make to create only one table in each DB
Nice video basanth.. How @configurationproperties() working here.. because in properties file the prefix is (spring. User........) but in your config class you mentioned pring.user... how the data source were created in your application. Check at time about 12:19 .. nice video..
@@nageswararaopalchuri3003 you can ignore it ,I just used it to disable all the database related auto configuration as I configured manually using java base config approach
Thanks for the video. Can you please make a video showing Springboot Application which will be deployed to Weblogic Server and connect to a JNDI datasource which is already created in weblogic server. Thanks in advance.
Hi, Can we join two tables from different databses? Say employee is in oracle DB and Department in mysql DB. I dont want to join inside service but want to join in repo using jpql.
We are manually creating datasource specific to database then we are adding required configuration stuff Once our datasource created we are mapping it to entity manager .
Hi sir good explanation, I am having a doubt I need to connect different schemas like user model has separate user schema and book model has separate book schema but both are in sql database , may i use this same configuration for this task and also should i create a separate separate packages for both "pls reply "
@@Javatechie Is there any way we can pass dynamic schema name rather than hardcoding in application.properties? let's say adding new schema for any new client enrolled to system. Thanks in advance!
@@Javatechie what is that persistent()?. There you mentioned entity name. But what about if we have multiple entities. How do I mention entities to that persistent.
@@Javatechie You have used persistent Unit name as "User' . So my question was what if there are 10 entitites. ? Should should write configuration for all 10 entities as persistant Unit?
Hi @Java Techie Can we Datasource-1 for Multiple repositories? Example: I am having two Data Sources DS-1, DS-2 DS-1 contains Books, NewsPaper, Notes, Ref-Materials, etc tables, Whereas DS-2 contains transactions of users. It's Possible to connect DS-1 with Multiple Repo?
Hi, I Need your advice here. I’m building a web application which allows users to choose database (HK,UK,US) from the UI. Based on his selection of databases, I need to connect to respective DB instance in the spring boot + Jpa. Please share your thoughts!
We can do one thing Based on UI input we will enable profile for region rather than environment Let's se I chooses UK then from application we will setActiveprofile to UK so that corresponding datasource properties will be loaded . Do let me know if you have any issue. Very interesting concept
I have 2 schemas, and both are identical (they are just replicas), do I still need to maintain 2 different models and repositories? Or can the basePackages be the same?
Very nice explanation. Keep it up. Can't we keep both user and book repository interfaces in a single package instead of keeping in 2 different packages??
@@artnum-rdc2015 am not sure but yes I did something like below Take DB dump of your remote DB then import it in your local or just point your local DB to remote host . So that both info can be on sync
I have one doubt? I have two schemas work -> customer_table work2 -> customer_table how can I call dynamically for different schemas? I have one POJO class and one repository, how to change the table name dynamically.
Hi, really nice video. Is this also the way to achieve dynamic data source routing? If in the payload we getting which database we require to query/update. Will this be an optimum way to do it?
Why separate config for each entity ... can't it be done on single config class .. as in real time we will be having multiple entities so i don't think it's good practise to create separate config for each entity. Any suggestion on that
Nice video ... Can we able to join two entities from different datasources and fetching selected columns from both the entities ? is it possible ? Eg : joining User with Book with foreign key and fetching username,bookname after joining.
Hi, I have downloaded the code from git and tried to execute. Its creating both the tables in one schema only. Any idea why so? I also have to add few properties in POM.xml to make it work
we have created two data sources each data source has one table, what if we have more tables in each data source, how we create entities and how we bind to particular data source?
Yes it's on table level. But what If I have to achieve a common/ global transaction on two diff tables... Example: a distributed Trx mgmt, if there are two tables(say db1.table1 and db2.table2).. but using single Trx. Like, if amount debited from db1.SBI table is successful. But credit in db2.hdfc table is failed. Then it should rollback. And SBI refund should be there. so if you can demo using Hibernate Jpa and spring boot. It would be great.
@@Javatechie @Akshat Pandey, could you please send share your code how u configured mysql and mongo in single application. I'm facing problem with mysql+mongodb databases combination
Thanks for this wonderful video..it's so helpful.. Awesome way of explaining.. thanks for your efforts for us learners... Sir I have one question... without @Entity class we can connect to data base..as I need to fire queries..having different table...how I can do that.. please suggest.. I don't want to create table in db ..but want to retrieve data from different table...in case..I don't need that that Entity class created..I made dto..to fetch the data....but..how I can do..can you please suggest
U give input like user and book to the value of the persistence unit So is it means name of the model class If it is yes how can I give all model for that..
Dude please watch from begin I mentioned there as I don't have multiple databases install in my machine am giving example using two different entity Let's say I have Oracle and MySQL Oracle db I can configure N number of entity similarly for Oracle I can configure N number of entity Because in one database we xan have multiple entity If you have multiple DB in your machine then please try configure it and see I Just configure 2 schema to show demo how to configure in case data source .
Getting error: Parameter 0 of method studentEntityManagerFactory in com.school.config.StudentsDataSourceConfig required a bean of type 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' that could not be found. Action: Consider defining a bean of type 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' in your configuration.
You want to update record ? If any field changed right ? So first you need to get existing object from dB then set the new value to object next save it
Thank you, brother, on July 25th, 2023 at 2:15 AM in the United States you solved my problem. Thanks for this video. Wish you all good.
interview point of view this video is very important , those who wants the Resume Spring Boot
Sir, you can put a payment link for donation, you are doing a lot good for free and you deserve something in return.
Agreed with you and .. hands up to his efforts 🙏
Thank you, 4 years old but still works
Awesome this is exactly what i was looking for. This question asked me in interview repeatedly
Thank you so much for sharing the knowledge on multiple datasource usage in MS.
This tutorial actually i am looking for.Thanku.
Datasource are mapped using keys with domain-name (from 7.09)
Syntax: "spring...url = xxx"
instead of "spring..url = xxx"
Just for the readers, hbm2ddl.auto=update is discouraged in production. Better use dbProperties.put("hibernate.hdm2ddl.auto", "validate");
Love java tikki.. Great job
Typo javatechie 🤪, anyway thanks
Thanks for the video it's clear and useful for attending interviews
Very helpful Basant super
Thanks for the step by step execution dear Friend! Actually, I have downloaded a copy but it was not working for me. when I watched this video I corrected a few things in the code and it was working fantastically.
Thanks Vijaya , Could you please update here if you found any issue with same code
@@Javatechie I have downloaded some different Code friend. Not your code. Your code works seamlessly fine :)
However, I would like to know how to send data as a JSON to the endpoint? because what I could see is that passing the values to Model classes in a program itself. I want to know how to do it dynamically at run time with postman?
@@vijayakumarkrishnan9269 this is backend code that's why I tried with postman but if you want data in real time scenario then it should be pass through client (angular, Ajax)
@@Javatechie Yes, exactly, I have a client app which submits the data from a web form to backend endpoint via Ajax post. but would like to know how to process Ajax data in backend repository code or in the controller.
Bhai mast heichhi video ta
very helpful. thank you for video
Excellent, it really helped a lot.
Thanks. Awesome and helpful
thank you basant bhaiya
Thank you so much sir for your hard efforts for us to make us with easy learn. Awesome and very helpful videos and you also explain the concept very well. Thanks , i took reference of your this code and videos to implement my task, now i need to connect my API with 3 database as @primary will help for between two database .. as for three database i am getting , how i can mange it with qualifier or any other ways for the same. Thanks for your hard efforts as you bring knowledgeable videos. Thanks.
Thanks Veena ,
What difficulty you are facing while connect to 3 different datasource however approach is same
Great tutorial, it has helped me with one of the most important tasks I had to do.
Excellent!!
thanks for sharing the valueble info..How to connect with Maria DB and Mssql DB
Just change datasource properties that's it
Thanks a lot, you are the best!!!
Thank you so much sir
Amazing 🙏
always your super sir
Mind-blowing. Can you make a tutorial on Mule
Very nice Explanation..
Requesting you to pl. make a similar 30 minute video including code example for distributed transaction management using Spring Boot microservice. Thanks!
Awesome :) Exactly what I am looking for :) Thanks a lot With the reference of this I am able to integrate Spring boot with MySQL and Neo4j repositories at the same time.
Best 😘
Thank you, so much.
Good stuff! It seems like multiple schemas are also accessible with the same datasource only by putting different usernames. Thanks.
Not by username , you can say schema name
Bro. Please do a tutorial on Multi-tenancy in spring boot.
Thanks for this video. One small query, if i have one more entity, say UserAddress, then how would i indicate this in the userconfig class?
We can setClasses in spring config class only as I can't remember the syntax now .
Nice Video could you please clarify the below points
1. (23:24) in persistanceUnit("Book") we configure for one table entity, what if the db have some 10 tables how to configure all of them
2. And you created Repository by extending Jparepository what if we want to interact with 10 tables in that Db.
3. is there any way to configure EntityManager per datasource so that we can interact with all tables in that datasource?
Please explain these points.
For each table you need to create separate repo that's what database per service pattern in microservices
@@Javatechie ok so i need to create 10 interfaces(Repositories).
and is there any way to configure EntityManager per datasource?
i didn't understand onepoint; there are two entityManagerFactory in 2 db config class. What if we have so many entity classes and repo classes in the project? do we need to create config file for every single model class that we have ?
No if Entity belongs from same Database then in one entityManager configuration you can add those entity
找了很多教程都不行,这个ok,thanks!
Thanks!
Great
Hi, Java Techi, Thank you for your video, I have a doubt I configured just like you with customer and order in two different DB and they are in one to many relation so when I set scan packages to com.example in config I'am able to create table but all tables are getting created in both DB how do I resolve that and make to create only one table in each DB
Nice video basanth.. How @configurationproperties() working here.. because in properties file the prefix is (spring. User........) but in your config class you mentioned pring.user... how the data source were created in your application. Check at time about 12:19 .. nice video..
Hey Narendra yeah it should be spring ,latter I changed spell before run
@@Javatechie ohh.. Okay
What is the use of writing the spring.autoconfigure.exclude in properties file
@@nageswararaopalchuri3003 you can ignore it ,I just used it to disable all the database related auto configuration as I configured manually using java base config approach
Thanks for the video. Can you please make a video showing Springboot Application which will be deployed to Weblogic Server and connect to a JNDI datasource which is already created in weblogic server. Thanks in advance.
Thank you.
Hi, Can we join two tables from different databses? Say employee is in oracle DB and Department in mysql DB.
I dont want to join inside service but want to join in repo using jpql.
I don't think we can do that but let me try and update you
thanks so much for your tutorial.
now i have question, if i have more than one entity in both datasource, what changes i need to do and where?
You only need to create additional repository later that's it
@@Javatechie Nice, this works for me, i love you
Thank you for this tutorial I am very happy
That's what I did here , two database means definitely we need to configure two different datadource .
Let me know your doubts with more info
@@Javatechie my Question is how you can create a new datasource at runtime by controller web by generated code . " programmatically and dynamic "
We are manually creating datasource specific to database then we are adding required configuration stuff
Once our datasource created we are mapping it to entity manager .
@@Javatechie Thanks sir, I know what I did but can you help me do this work? Or guide me something in this problem
Hi sir good explanation, I am having a doubt I need to connect different schemas like user model has separate user schema and book model has separate book schema but both are in sql database , may i use this same configuration for this task and also should i create a separate separate packages for both "pls reply "
Yes you can follow the same only change the schema name in the URL in the application.properties
@@Javatechie Is there any way we can pass dynamic schema name rather than hardcoding in application.properties? let's say adding new schema for any new client enrolled to system. Thanks in advance!
hi, you tightly coupled specific model/entity class .If we have more than one table/entity how to configure.?
There you mentioned persistent entity as User And Book. What should I mention of I have more than 5 entities in that model packages.
Can you explain your complete scenario
@@Javatechie what is that persistent()?. There you mentioned entity name. But what about if we have multiple entities. How do I mention entities to that persistent.
Do we have to add configuration class for every entity in the project? Lets say there are 10 entity classes?
Only configuration required for data source not for entity pavan
@@Javatechie You have used persistent Unit name as "User' . So my question was what if there are 10 entitites. ? Should should write configuration for all 10 entities as persistant Unit?
Pavan in one configuration we can mention multiple entity . this what the small poc .
Great! Thanks for sharing.
How to get all suggestions like you did when write classes name...?
I am also using Eclips
Hi @Java Techie
Can we Datasource-1 for Multiple repositories?
Example:
I am having two Data Sources DS-1, DS-2
DS-1 contains Books, NewsPaper, Notes, Ref-Materials, etc tables,
Whereas DS-2 contains transactions of users.
It's Possible to connect DS-1 with Multiple Repo?
Yes we can
@JavaTechie Thanks for the quick reply. If possible can you share any demo projects or video for reference.
Hi, I Need your advice here.
I’m building a web application which allows users to choose database (HK,UK,US) from the UI. Based on his selection of databases, I need to connect to respective DB instance in the spring boot + Jpa. Please share your thoughts!
We can do one thing
Based on UI input we will enable profile for region rather than environment
Let's se I chooses UK then from application we will setActiveprofile to UK so that corresponding datasource properties will be loaded .
Do let me know if you have any issue.
Very interesting concept
I have 2 schemas, and both are identical (they are just replicas), do I still need to maintain 2 different models and repositories? Or can the basePackages be the same?
Use a separate DB Config for each domains and create separate EntityManagerFactoryBean using EntityManagerFactoryBuilder (as shown @ 15.36)
Yes it's not straight forward
nice tutorial
Great JOb Basant BHi :)
Very nice explanation. Keep it up. Can't we keep both user and book repository interfaces in a single package instead of keeping in 2 different packages??
No not possible you will get exptception so we should follow the hierarchy
@@JavatechieThank You so much for your quick response 😊👍. may I know the reason....why it's not possible?
very good! how about synchronisation between remote database and local db?
Hi John , didn't get you
@@Javatechie if i have a remote database and the same database is on localhost how to synchronise data between the remote and locahost!
@@artnum-rdc2015 am not sure but yes I did something like below
Take DB dump of your remote DB then import it in your local or just point your local DB to remote host .
So that both info can be on sync
@@Javatechie thanks you!
I have one doubt?
I have two schemas
work -> customer_table
work2 -> customer_table
how can I call dynamically for different schemas?
I have one POJO class and one repository, how to change the table name dynamically.
Is both schema comes under same datasource?
@@Javatechie Yes, But we have to write two resources,
such as localhost:8080/work/customer1
and localhost:8080/work/customer2
@@saadmohammed6062 hi could you please elaborate bit more
With this 2 resource what you want to achieve
@@Javatechie I have two schemas in MySQL.
work1 and work2 each have a customer table.
How to call them dynamically at runtime.
Can you please give explanation for distributed transactions in spring microservices
Already i uploaded videos on it . check saga choreography
Hi. how can I Sync the two databases? when database A is updated then Database B gets automatically updated?
Not sure will check and update
@@Javatechie that would be gladly appreciated, thank you.
These are only fr specific 2 domain class user and book..if in case we need to use multiple domain class...then how can we maintain in package basis
I have multiple entities in the same package. What should I do?
Hi, really nice video.
Is this also the way to achieve dynamic data source routing?
If in the payload we getting which database we require to query/update.
Will this be an optimum way to do it?
Akshya that's why we created two repository right ?
Based on your payload choose the appropriate repository and populate the data
Hi, i am also using the same context. could you let me know how shall i handle the exception if any one of the db is down or table not exist?
How about using different database vendors? How would you set then multiple data bases? And database dialects?
Lombok is not working in my Eclipse ide although I have mentioned in dependencies sir. could you please tell me what may be the problem
You need to configure it in your IDE , adding dependency is not enough
Please go through my blog and search you will get steps to configure Lombok
hi sir,
its more informative can u please share us for same as for NO SQL databases
I don't think we need datasource configuration for NoSQL DB
But I will show one demo with multiple NoSQL config in single application
@@Javatechie thanks for your response....
Why separate config for each entity ... can't it be done on single config class .. as in real time we will be having multiple entities so i don't think it's good practise to create separate config for each entity. Any suggestion on that
As there is two datasource we need to configure that in different config . As one of them we are making primary
So can't we configure more than 1 datasources in 1 config file only ... that's my question
No we can't Hitesh
Nice video ... Can we able to join two entities from different datasources and fetching selected columns from both the entities ? is it possible ?
Eg : joining User with Book with foreign key and fetching username,bookname after joining.
This is not valid scenario at all because wrong design
@@Javatechie ..sorry , i meant for different schemas in oracle from the same databse... is it possible ?
Yes absolutely possible , you can just follow this approach also please refer my onetomany association mapping tutorial
@@Javatechie Thank you ❤️ .
Hi, I have downloaded the code from git and tried to execute. Its creating both the tables in one schema only. Any idea why so? I also have to add few properties in POM.xml to make it work
we have created two data sources each data source has one table, what if we have more tables in each data source, how we create entities and how we bind to particular data source?
Can we migrate data from mysql to psql or psql to mysql.
Ofcourse we can
Hello Basant, how do we connect more than one table ? could you please answer my question
If I have 100+ tables in both the DB's then I have to make 100+ config classes for both DB ?
Is there any smart way of doing this ?
Configuration not required for table it need for database
Thank you for this video, but how i can use three data source ? the anotation @Primary don't work if we have three data source
Hi Tarik , thank you
Yes it will work with N number of DB , but at same time I don't think we can use it
Can we do Master slave data source configuration similar way for one is for write and other is for read
What about rollback Trx 1 on failure of Trx 2 in two different databases.
As far I understand we can't apply transaction on database level it should be Table level correct me if am wrong
Yes it's on table level. But what If I have to achieve a common/ global transaction on two diff tables...
Example: a distributed Trx mgmt, if there are two tables(say db1.table1 and db2.table2).. but using single Trx.
Like, if amount debited from db1.SBI table is successful. But credit in db2.hdfc table is failed. Then it should rollback. And SBI refund should be there.
so if you can demo using Hibernate Jpa and spring boot. It would be great.
@@pncabhsiek3311 I was also searching this pattarn but didn't succeed yet .I will update you once I do
@@Javatechie Hello dear, have you find any valuable information of the @pnc abhsiek question ?
Does it work the same if i have to MongoDB databases?
While configuring NoSQL DB (mongo,cassandra,neo4j) we are not giving datasource details
@@Javatechie Rest all is exactly same? Can i follow this tutorial and set up my mongodb connection successfully?
@@akshatpandey2256 yes you can , already I created one repo with MySQL and mongo .
@@Javatechie @Akshat Pandey, could you please send share your code how u configured mysql and mongo in single application. I'm facing problem with mysql+mongodb databases combination
@@bhanubill please refer below POC github.com/Java-Gyan-Mantra/multiple-db-connection
Any suggestions on how to connect to Postgres and MongoDB?
how to connect h2 and my sql database in one spring boot application
Weather the same method will work ?
Did you tried it before ?
Are you getting any issue?
@@Javatechie till now not tried but in my project requirement i have to do it . So was asking weather this method will work for h2 database also .
@@Javatechie i have to integrate h2 and sql database in one application weather it will work ?
It will work in that case you don't need to configure this spring config class only you need to add in properties file .
while adding Hikari config I am getting : HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required.
Thanks for this wonderful video..it's so helpful.. Awesome way of explaining.. thanks for your efforts for us learners... Sir I have one question... without @Entity class we can connect to data base..as I need to fire queries..having different table...how I can do that.. please suggest.. I don't want to create table in db ..but want to retrieve data from different table...in case..I don't need that that Entity class created..I made dto..to fetch the data....but..how I can do..can you please suggest
How I can connect to multiple database without..@Entity class creation..as we don't need any creations
Thanks man , Need to check this
@@Javatechie thanks sir..heads up to your efforts
What is the persistence unit and if I have 20 model class in package
Can I work like this?
Yes you can no issues on that
U give input like user and book to the value of the persistence unit
So is it means name of the model class
If it is yes how can I give all model for that..
Dude please watch from begin
I mentioned there as I don't have multiple databases install in my machine am giving example using two different entity
Let's say I have Oracle and MySQL
Oracle db I can configure N number of entity similarly for Oracle I can configure N number of entity
Because in one database we xan have multiple entity
If you have multiple DB in your machine then please try configure it and see
I Just configure 2 schema to show demo how to configure in case data source .
Cooolll
thank you very much ^__________^
great tutorial but where the oracle configration
Getting error: Parameter 0 of method studentEntityManagerFactory in com.school.config.StudentsDataSourceConfig required a bean of type 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder' in your configuration.
It works!!!!!!
Great Tutorial!!
How will add 3 DB, primary will be only one?
How to add schema dynamically to DataSourceBuilder ??
I want to update if there are any differences in data.is that possible??
You want to update record ? If any field changed right ?
So first you need to get existing object from dB then set the new value to object next save it
@@Javatechiethanks for the reply. there are 2 lakhs record in both tables. I have to compare every row right?if so Is jpa is the best way?
No for this jpa is not fisible solution to use .
You need to to customize your query.looks interesting scenario
Let me think if I can help you
thanks dear
Iam using Oracle it is throwing exception like jdbcurl is required with driver class name can u plz help me thanks in advance
Didn't you configure in your application.properies file
@@Javatechie I have used what u given everything I followed can plz help showing jdbc required driver class like that showing
For Oracle you need to configure valid
Datasource information in your application.properies am explained with two MySQL instance only
@@Javatechie can u tell those configurations sir
I have changed related to Oracle but showing driver class required jdbc url like that where I should change can u tell
I'm facing an exception. EnitityExistException. Please help
What you are trying please mention here
Can any one help .if i want create multiple table at time in multiple data source. then i how to use persistUnit.
Raj I will check and update
I am getting error executing ddl "alter table" via JDBC statement