View Only
  • 1.  Hibernate 6 does not support Infomix anymore

    Posted Fri December 30, 2022 09:01 AM

    Hibernate ORM 6.0 was released in the summer of 2022. And Hibernate ORM 6.x no longer supports Informix,The InformixDialect has been removed from Hibernate. Hibernate no longer sees the need to support Informix.

    Has anyone found a way to use Hibernate ORM 6.x with Informix? Will there be support from IBM, since no help is to be expected from Hibernate?

    Many thanks in advance.

    Andre Ritter


  • 2.  RE: Hibernate 6 does not support Infomix anymore

    IBM Champion
    Posted Sat December 31, 2022 08:21 AM

    the InformixDialect (and Informix10Dialect) has not been deprecated but has been moved
    to a new artifact called hibernate-community-dialects.
    These dialects were (among lots of others like Derby, DB2Legacy, Ingres, OracleLegacy,
    Firebird, H2, HSQL etc.) moved out of the main branch.
    They probably did not find somebody to regularly care about these, but since the classes
    are not very complex it should be easy to introduce functionality you need in an extended Dialect.
    (we are working with a customized dialect since > 15 years now)

    In case you would want to use a non-implemented functionality in Hibernate it is always a good idea to see how
    the main dialects have realized this, because underneath the hood, it is all JDBC.
    We have been extending the dialect for some user defined routines we wanted to use, and that is only a matter of
    a couple of lines in code.

    I don't think this is really a big deal and definately is not a message that Informix is not going to be supported at all.



  • 3.  RE: Hibernate 6 does not support Infomix anymore

    IBM Champion
    Posted Fri January 13, 2023 04:13 PM

    Can someone from HCL comment on why there are no taking this on?

    Surely HCL should be and ensuring this (and DB2 support) are kept in the main repo rather than in some community dialect where these are effectively sidellined?


    David Williams

  • 4.  RE: Hibernate 6 does not support Infomix anymore

    IBM Champion
    Posted Tue January 17, 2023 04:03 AM

    I don't think Hibernate is very much in IBMs focus, it might be that they did contribute to the project but
    at the end it is some kind of open source software, which is not a product of IBM, but in the
    hands of an open source community. That does not mean Informix is not in IBMs focus.

    Anybody can contribute to hibernate and if the dialects are in the core project or 
    in a separate project, is only the decision of the internal hibernate team members, 
    and does not implicate that the dialects are going to be abandoned. 
    This decision just means that there are not that many hibernate users with Informix in the active community,
    which does not mean that there is nobody left.
    Feel free to contribute yourself in improving the dialect if Hibernate with Informix has some meaning to you
    and you are missing any features which would be of public interest.

    It is probably not any more in the main tests (but there are test classes in the community-dialect package as well)
    and not all variants of new functionality might be supported (which has been the case for a 
    long time for some dialects already, since not all databases fully support every feature).

    As I said before, we have always extended the original dialect to our needs, so my expectation
    has never been to be getting a fully out-of-the box product which covers every situation we are programming
    when using Hibernate with Informix (or any other DB). 
    DB2 has a number of officially supported dialects in Hibernate. This might implicate that there are
    some more users contributing to the DB2 implementation than for the Informix dialect.
    But when looking at the history,  the community dialects are patched permanently (InformixDialect has last been
    last modified 2 weeks ago), so there is some activity and people are keeping the dialects up to date.

    When using open source, you can never have the assured quality and support you are gettting when 
    you are paying for support on some commercial product. On the other hand, you are able to correct/debug misbehaving
    functionality for yourself, which is (for us) a great benefit.
    When running into a problematic situation in a commercial product, you need to wait for a patch.
    In an open source product you might be able to fix it yourself and deploy a patched version.
    On the other hand, you cannot rely on a fix from community for your specific issue. Sometimes they are very fast,
    sometimes it is not their focus. Remember this is mostly voluntary work.