Referring to the last question: Hibernate-D is *not* based on Vibe.d. But I have already been looking into the idea of using Hibernate-D and Vibe.d together. In fact, my recent commits to mysql-native adding support for Phobos sockets was a big part of that.
The main issue is that Vibe.d programs should be using Vibe.d sockets instead of ordinary sockets (I don't know what would happen if you don't use Vibe.d sockets. My guess is it just wouldn't happen asynchronously, but Sonke could answer that better). But Hibernate-D aims to be usable even without Vibe.d, so it uses Phobos sockets for MySQL (via a modified fork of an older mysql-native), and for PostgreSQL and SQLite it just uses the C libs. I've already converted mysql-native to support both Vibe.d and Phobos sockets, and I've already created a branch of Hibernate-D that makes Hibernate-D use the new official mysql-native and therefore automatically switch to Vibe.d sockets whenever Vibe.d is being used (detected by -version=Have_vibe_d, which is automatically added by DUB is you're using both Vibe.d and DUB). But G^DF*^@CKD*#MMIT I *just now* noticed that commit (and the pull request I could have sworn I made) seems to have completely disappeared without a trace...Shit, I gotta figure out what happened and where the hell it went... Ugh, anyway, I've been digging through Hibernate-D's source the last couple days checking out what else might be needed. As long as I get my magical disappearing commit resurrected, it *looks* to me like the only other thing that might be needed is to bypass Hibernate-D's built-in connection pool. Even that might still work as-is (I haven't tried), but it's not really necessary for Vibe.d users since Vibe.d has its own fiber-safe connection pool system. But it's pretty easy to bypass Hibernate-D's connection pool in favor of Vibe.D's connection pool in user-code without even patching Hibernate-D. AFAICT so far, it looks like everything else in Hibernate-D should work fine with Vibe.d. tl;dr: Hibernate-D does not use Vibe.d, but I have personal interest in using them together and I've been checking into it. Not sure what can be done about PostgreSQL and SQLite (I *think* they'll work but just not asynchronously - not sure what else can/should be done, I'd have to ask Sonke). But for MySQL, all you *should* need is a patch or two that I've been working on.
