So lately, a lot of people in my circle is talking about why java application server is dead. The reason why is explained in the slides here. Basically what I get is that because nowdays people only deploy one artifact in one application server, it beats the point of the application server. It’s more like that the application server is already part of the application. So, it would be better to treat the application server as part of the application and ship them together as a package.
Sometimes, in the database, we will want to not delete stuff because the data might still be needed later. Maybe some other process in the company will have to generate an invoice by the end of the month. That’s also one of the reason in my workplace, why there won’t be any hard delete in the database except when we’re sure it’s really necessary. One solution for this, in hibernate, is to overwrite the sql delete command using the @SqlDelete annotation: