Issue
When I use Hibernate to connect to a MySQL database, bookstoredb, in Eclipse, a connection to the MySQL sys database also shows up!
I'm using the following:
- Ubuntu 18.04.5 LTS (desktop)
- Eclipse 2020-6 (4.16.0) w/JBoss Tools, Hibernate-Tools plugin.
- MySQL Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL)
Note: this is a local desktop project, I am working through a tutorial. I will NOT be using root/admin with MySQL down the road.
Following is the complete hibernate.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">admin</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bookstoredb?serverTimezone=UTC</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
</session-factory>
</hibernate-configuration>
Am I misunderstanding, shouldn't the connection.url, as given, ONLY connect to bookstoredb? Why is "sys" connecting also?
This becomes even more of a problem when using the tool to reverse-engineer the database tables into java classes. I'm getting not only the bookstoredb tables as java classes but every table in the sys database as well. And there are a lot of them, as I am sure folks well know.
How do I unlink the sys database? Or set things up so I don't link to it in the first place?
Solution
I guess sys is the default schema in your MySQL workbench.
Go to your Mysql workbench and drop the schema/because it is importing all the schemas from your local server.
or
Custom :- Open your workspace(eclipse("run" tab on top of screen->hibernate code genration) -> Go to hibernate code generation( -> click main-> revenge.xml->select new -> select folder-> configure table filter-> (1)select database you want to select-> import all table-> apply -> Run .
Now you can see all the tables in the location you have selected. If you want to customer export you could also do so after (1) step above
Answered By - razorshaw
Answer Checked By - Robin (JavaFixing Admin)