Subject Re: [Firebird-Java] DAO / Persistence layer
Author Roman Rokytskyy
> Some changes are overwritten or deleted by hibernate as hibernate
> writes data on flush() or on commit(). A SQL command is executed
> immediately. I had those problems with n:m relation ships, where the m
> side of the pojo was kept empty because of performance reasons. The
> initial values where added to the table in a INSERT INTO SELECT
> command - but hibernate generated a DELETE for that list on flush.
> Unfortunately I was not able to perform this flush before the delete.
>
> That't the same way with stored procedures - if they are called by
> plain JDBC changes might be reverted.

Ok, we don't mix JDBC and Hibernate (ok, sometimes we use JDBC, but only
SELECTs and we still use them as named SQL queries defined in some
mapping file)...

But I have some vague rememberings that Hibernate somehow addressed that
issue.

> OK - so you don't mix it. That's our approach now too - but in my
> opinion this is a bit slower than performing datachanges in stored
> procedures or plain sql (depending on your needs).

Yes, but we're ok with it.

>> All constraints get their names in UML, rest is done automagically.
>>
>>
> what uml tool do you use?

Enterprise Architect from Sparx Systems. They did not have Firebird
profile, but I just cloned Oracle's one and customized to Firebird's
data types.

Roman