6. How do you see alternatives to relational databases, like XML and OO databases, or Prevayler?
We don ' t see them; -)
Truly, the relational data model is a wonderful innovation, and it would be an absolute disaster to replace it with flawed persistence technologies like XMLDBs or OODBMS. Fortunately, that simply won ' t happen, since there is simply no industry interest or momentum behind either.
Technologies like OODBMS sacrifice sound, application technology agnostic data management for sort-term convenience (convenience for one single application, written using one particular programming language). Relational technology essentially completely replaced network or hierarchical database technology, and there were excellent reasons why that happened. We should most certainly not be reviving either of those discredited approaches by slapping on the latest buzzwords (OO, XML, etc) as window dressing.
7. Are there any changes you would like to see in the JDBC API to make Hibernate better and faster?
It would be great to be able to batch together different SQL statements using the JDBC batch update API (at present, you can only batch multiple parameter sets for the same statement).
However, rather than seeing many new features in JDBC, I would be incredibly happy if vendors would simply provide complete, reliable implementations of the features that are already there in JDBC 3. It ' s actually quite disgraceful how broken the JDBC drivers of certain big-name RDBMS vendors are. They don ' t seem to care. 9. Do you foresee the upcoming release of EJB3 reducing the need for Hibernate? Are there any benefits of using both, like in a BMP environment?
EJB 3.0 is a specification. Hibernate will be an implementation of that specification. So you can use both at the same time; -) Alternatively, we intend that some people, who don ' t care about standards as much, will continue to use Hibernate-specific APIs, especially for functionality that is not yet standardized by JSR-220.
10. Could you tell us about what ' s new in Hibernate 3, and the benefits these changes will bring to users?
The biggest, most innovative new thing is the support for parameterized " filters ". This feature let ' s you see an object graph that is just a subset of the total data in the database. This is incredibly useful when dealing with temporal, versioned, regional, or permissioned data. In fact, I expect that most business domains have usecases for this feature and that it will soon be considered an indispensable feature of Hibernate.
We have done a huge amount of work on adding greater mapping flexibility, to support more complex (or even broken) relational models. This takes the form of a number of small new features, that are really most significant when taken together. Hibernate is now able to handle just about any crazy thing you are likely to find in a legacy database.
In addition, it is now possible to override any SQL statement that Hibernate generates with your own hand-written SQL. This gives your DBA the freedom to hand-tune the SQL when necessary.
Some further major changes in Hibernate3 were designed to align us more closely with JSR-220.
Finally, we put a huge amount of thought into what small changes we could make that would make Hibernate easier to use for beginners. Hopefully that will reduce the incidence of certain FAQs in the Hibernate forum!
11. How about Metadata in Java 5.0? Do you have plans to support it? It is a real alternative to hbm.xml?
Absolutely! Emmanuel Bernard is working on implementing the EJB 3.0 ORM metadata for Hibernate, and adding Hibernate-specific extensions.
We ' ve seen how many people like to use XDoclet annotations to express their Hibernate mappings, and so I ' m quite certain that even more people will feel comfortable using JSR-175 annotations.
In fact, I fully expect that this will be the most common way to use ORM in the future.