How to use Hibernate schema
This article introduces the relevant knowledge of "how to use Hibernate schema". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
Hibernate schema
What if you need to switch schema when calling Hibernate.
In oracle, different users use different schema. In the POJO of Hibernate, schema is specified
In the above part of the code, Schema. If you want to switch Schema during operation. Do the following:
Default configuration POI_BEIJING
The mapping file above is changed to:
In operation, you can re-build your SessionFactory using the following methods
Public static void rebuildSessionFactoryForChangeSchema (String newSchema) {try {Properties p = configuration.getProperties (); System.out.println ("- -" + p); p.put ("hibernate.default_schema", newSchema); sessionFactory = configuration.buildSessionFactory (); System.out.println ("change schema successfully. ");} catch (Exception e) {System.err .println ("% rebuild session factory failed for changing schema% "); e.printStackTrace ();}}
If you need to change the Schema, you need to call this method when needed.
For example, in SchemaAction
HibernateSessionFactory.rebuildSessionFactoryForChangeSchema ("POI_SHANGHAI"); System.out.println ("change successfully---"); PoiDAO pd = new PoiDAO (); Transaction t = pd.getSession (). BeginTransaction (); pd.save (new Poi ("jsfjksdf")); t.commit ()
So, instead of inserting data into POI_BEIJING, it becomes inserting a piece of data into POI_SHANGHAI. In this way, switching can be realized when operating different Schema.
Problem: what is changed here is the static factory. Therefore, it will affect all users. If you don't want to change it for all users, you can get your corresponding SessionFactoy according to the name of Schema.
That's all for the content of "how to use Hibernate schema". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!