Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

org.hibernate. HibernateException: database product name cannot be null

 
Alex Shpiller
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, im getting this error in my code:
Initial Session Factory creation failed org.hibernate.HibernateException: database product name cannot be null
org. hibernate.HibernateException: database product name cannot be null
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)

an so fourth...

The line which produces that exception is here:

Configuration forAlias = configurationForAlias(); //works fine
Session session = forAlias.buildSessionFactory().openSession();//throws exception
I've tried the following but they do not help:
Session session = forAlias.configure().buildSessionFactory() .openSession();
Session sessionFactory = new Configuration().configure().buildSessionFactory().openSession();

Does anyone have an idea WHAT the problem is...not necessarily how to fix it but exactly why does it say "database product cannot be null"??
(properties,configuration files are correct and spit out correct results);
Thanks,
Alex
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is the dialect setting in your hibernate.cfg.xml?

Mark
 
Alex Shpiller
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OK that is the correct dialect, there might be some other problem above it in your XML, like a missed closed tag or something like that.

But, also I noticed that you are trying to create a Session at the same time as creating a SessionFactory, these two things should be done seperately, as creating a SessionFactory is heavy-weight. So using a Singleton SessionFactory is the way to go, then just get that singleton and open Sessions from there. Opening sessions are lightweight. And it is ok if you do that often, rather than always creating new SessionFactories.

Mark
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Alex, please post your hibernate.xml.cfg. There is a CODE button below the Add Reply button, make sure you put your xml within CODE tags so that your indentation will remain in your post, and make it easier for us to read.

I want to see if we can spot the problem. I have some guesses. 1) the version of Hibernate you are using versus the package of the Dialect classes. 2) Some single character error somewhere in your HTML.

Basically the code in Hibernate that has the error was first getting a String value from a Properties object passed to the method. These are Properties that are set in the hibernate.xml.cfg



So if that is null, then it tries to find the Dialect another way which is also failing, but I don't think that the dialectName var should be null.

Mark
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic