﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>basmin commented on NHibernate – Get Thou Out Of My Database</title><description>thanks for example to programmatically modify the configuration and mapping.
  
i'm a beginners and your post very useful for me.
  
  
thanks.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment30</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment30</guid><pubDate>Sun, 02 Aug 2009 15:43:12 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>It should just work, I believe
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment29</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment29</guid><pubDate>Sat, 13 Jun 2009 15:15:57 GMT</pubDate></item><item><title>FH commented on NHibernate – Get Thou Out Of My Database</title><description>Ayende, 
  
Can you please shed some lights and explain how setting up UserType with encryption is going to enable HQL or criteria queries involving 'like' operator for string based columns?
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment28</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment28</guid><pubDate>Thu, 11 Jun 2009 07:29:07 GMT</pubDate></item><item><title>ORM Messiah commented on NHibernate – Get Thou Out Of My Database</title><description>Its interesting that the ORM and loose coupling debate always sparks up whenever nhibernate is mentioned.
  
  
Mark says : ' I'll go back to coding loosely coupled systems. '
  
  
Jeremiah says: 'Many folks in the database architecture field would disagree and say that the data access layer should be contained in the database'
  
  
If Nhibernate and ORMS solved the dataaccess and loose coupling problem elegantly it would not be popping up all the time. Seems like there is still a lot missing and people keep going back to stored procs and straight data access.!
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment27</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment27</guid><pubDate>Tue, 09 Jun 2009 15:26:54 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>And you are _still_ missing the nitpicker corner, amazing.
  
  
And that wasn't in _my_ team, it was _another_ team totally unrelated to me.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment26</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment26</guid><pubDate>Tue, 09 Jun 2009 14:44:04 GMT</pubDate></item><item><title>ORM Messiah commented on NHibernate – Get Thou Out Of My Database</title><description>Mark : He didn't mean after deployment, he was talking about other people within the project! Ayende Said: 'Unfortunately, they are often part of that nasty integration team and they try to integrate directly into my database. '
  
  
Obfuscating the database so the integration team cannot use is definitely vile. If you have to obfuscate your database so that no one can integrate to it, I repeat you have a useless database. You completely missed the boat on what databases are for. 
  
  
Objects can present an integration point too, but for reporting and warehousing and other database related purposes other people should be able to use your database.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment25</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment25</guid><pubDate>Tue, 09 Jun 2009 14:38:07 GMT</pubDate></item><item><title>Mark commented on NHibernate – Get Thou Out Of My Database</title><description>ORM Messiah, 
  
  It is called code obfuscation and there are tools to do it pre-deployment. It is a valid concern.  Sadly, there is not a good way to do it with the database. Using an ORM makes it much easier though.  Using Stored procs is a form of obfuscation too.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment24</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment24</guid><pubDate>Tue, 09 Jun 2009 01:29:27 GMT</pubDate></item><item><title>Mark commented on NHibernate – Get Thou Out Of My Database</title><description>Jeremiah,
  
 Oh, i know they do disagree. That is why they are database architects and not system/solution architects.  Even if you have the data access layer in the db, you save very little in the application coding wise,  They still have to have their own DAL.
  
  
I was just further explaining the "why" and trying to help Ayende explain it to you
  
  
 In applications, the database is part of the application (system). If it isn't then it belongs to another application and should be treated as such. I've done plenty of systems both ways in many languages, databases and platforms.   I am not just an "app" developer. That is why I have the skill and ability to see it from all perspectives and make the best decision.
  
  
Enjoy the store procs! I'll go back to coding loosely coupled systems.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment23</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment23</guid><pubDate>Tue, 09 Jun 2009 01:26:26 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>ORM Messiah,
  
I guess you missed the nitpicker corner.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment22</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment22</guid><pubDate>Mon, 08 Jun 2009 22:40:53 GMT</pubDate></item><item><title>Jeremiah Peschka commented on NHibernate – Get Thou Out Of My Database</title><description>Mark,
  
  
Many folks in the database architecture field would disagree and say that the data access layer should be contained in the database because you can never guarantee where data access will come from nor can you guarantee the life cycle of your application language of choice. Which is neither here nor there, I was simply curious what Ayende was worried about the implementation team doing. Personally, as a database developer, I was curious as to why he was concerned about them touching the DB. 
  
  
Now I know and I can happily go back to writing stored procedures.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment21</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment21</guid><pubDate>Mon, 08 Jun 2009 21:22:58 GMT</pubDate></item><item><title>ORM Messiah commented on NHibernate – Get Thou Out Of My Database</title><description>Dear Ayende,
  
  
If your database is so unusable tha tno one can understand it no one can query it except you, that is an unusable database.
  
  
A database should be able to be accessed by other people if necessary and should be well designed and descriptive just like writing good and readable code. What if  you declared all your methods and fields in your class as Method_x123  and Field_x2342 ? (Btw, I have seen people do that!)
  
  
You are missing the boat here on what databases are all about and what data access layers should be doing ... surely not dictating database design!
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment20</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment20</guid><pubDate>Mon, 08 Jun 2009 19:39:22 GMT</pubDate></item><item><title>A. Nony. Mouse. commented on NHibernate – Get Thou Out Of My Database</title><description>That looks very much like the AS400/DB2 tables I have to get data from every day.  I feal right at home.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment19</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment19</guid><pubDate>Mon, 08 Jun 2009 12:29:54 GMT</pubDate></item><item><title>Onur BIYIK commented on NHibernate – Get Thou Out Of My Database</title><description>I think this will NOT protect you from a really really nasty integration team.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment18</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment18</guid><pubDate>Mon, 08 Jun 2009 07:12:21 GMT</pubDate></item><item><title>Mark commented on NHibernate – Get Thou Out Of My Database</title><description>Jeremiah,
  
 The "Domain" layer should not be bypassed  by anything. It can and should be done by messaging. I am currently having to integrate with two systems that contain much of the same data but all so I have to create a MDM. Unfortunately the are not "enterprise" systems and thus the only way to integrate is at the DB.  If they had system messaging (and a domain layer), I would probably be done in a few days.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment17</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment17</guid><pubDate>Mon, 08 Jun 2009 01:43:17 GMT</pubDate></item><item><title>Mark commented on NHibernate – Get Thou Out Of My Database</title><description>If you were using Hibernate - 
[http://www.jasypt.org/](http://www.jasypt.org/)</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment16</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment16</guid><pubDate>Mon, 08 Jun 2009 01:35:06 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>They wanted to touch my database
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment15</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment15</guid><pubDate>Sun, 07 Jun 2009 23:18:52 GMT</pubDate></item><item><title>Jeremiah Peschka commented on NHibernate – Get Thou Out Of My Database</title><description>I'm curious about why you would have to resort to even threatening something like this. What was the rationale? What were the implementation people planning on doing that you disagreed with?
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment14</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment14</guid><pubDate>Sun, 07 Jun 2009 22:49:36 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>FH,
  
You have the first part here.
  
The second is just setting up UserType with encryption
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment13</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment13</guid><pubDate>Sun, 07 Jun 2009 19:16:55 GMT</pubDate></item><item><title>Gunnar Liljas commented on NHibernate – Get Thou Out Of My Database</title><description>This kind of schema obfuscation is used by several large ERPs, CRMs etc. Some even say "Want to work directly with our database? Sure thing. Just buy this document containing a translation to unobfuscated table and column names, and we wont mind."
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment12</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment12</guid><pubDate>Sun, 07 Jun 2009 18:35:55 GMT</pubDate></item><item><title>FH commented on NHibernate – Get Thou Out Of My Database</title><description>And still HSQL should work for operators = and like etc.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment11</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment11</guid><pubDate>Sun, 07 Jun 2009 13:49:43 GMT</pubDate></item><item><title>FH commented on NHibernate – Get Thou Out Of My Database</title><description>Ayende, I have a scenario where I need to do something like you did here. i.e. 
  
1) Make table name and its columns un-understandable 
  
2) Make data of few fields of few tables encrypted (preferably) or make it again difficult to understand with options like ORing or ANDing the data. 
  
  
I am using NHibernate2.
  
  
What do you suggest?
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment10</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment10</guid><pubDate>Sun, 07 Jun 2009 13:38:14 GMT</pubDate></item><item><title>configurator commented on NHibernate – Get Thou Out Of My Database</title><description>Ayende, once you've been bitten by string.GetHashCode() once, you never forget it. Trust me.
  
  
I don't use GetHashCode() for any purpose other than getting the hash code. *Any* purpose.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment9</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment9</guid><pubDate>Sun, 07 Jun 2009 12:16:55 GMT</pubDate></item><item><title>Duckie commented on NHibernate – Get Thou Out Of My Database</title><description>SHODAN -&gt; I simply have to guess... Visma?
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment8</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment8</guid><pubDate>Sun, 07 Jun 2009 12:10:43 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>Configurator,
  
Yes, I did.
  
And I am absolutely shocked(!) that you even considered the possible implications of using this
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment7</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment7</guid><pubDate>Sun, 07 Jun 2009 03:39:37 GMT</pubDate></item><item><title>configurator commented on NHibernate – Get Thou Out Of My Database</title><description>Did you steal the nitpicker's corner from The Old New Thing?
  
  
Also, this would return different results in 32-bit and 64-bit. Watch out!
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment6</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment6</guid><pubDate>Sun, 07 Jun 2009 02:09:44 GMT</pubDate></item><item><title>PandaWood commented on NHibernate – Get Thou Out Of My Database</title><description>nitpicker corner is a great idea btw - it's so often necessary
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment5</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment5</guid><pubDate>Sun, 07 Jun 2009 00:01:59 GMT</pubDate></item><item><title>Ayende Rahien commented on NHibernate – Get Thou Out Of My Database</title><description>Marc,
  
Why, this is _following the naming convention_ as laid out. :-)
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment4</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment4</guid><pubDate>Sat, 06 Jun 2009 22:01:53 GMT</pubDate></item><item><title>Marc Brooks commented on NHibernate – Get Thou Out Of My Database</title><description>Oh dear, wouldn't a simple ROT13 be safer and still get the point across?
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment3</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment3</guid><pubDate>Sat, 06 Jun 2009 19:17:01 GMT</pubDate></item><item><title>SHODAN commented on NHibernate – Get Thou Out Of My Database</title><description>Looks more or less as intelligible as the table/column names of a certain Swedish ERP system I've had the misfortune to work with..
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment2</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment2</guid><pubDate>Sat, 06 Jun 2009 18:00:46 GMT</pubDate></item><item><title>Sebastian Markb&amp;#229;ge commented on NHibernate – Get Thou Out Of My Database</title><description>Any NHibernate/DDD introduction tutorial should come with this naming convention by default. THEN if you REALLY need to, you opt out.
</description><link>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment1</link><guid>http://ayende.com/4048/nhibernate-get-thou-out-of-my-database#comment1</guid><pubDate>Sat, 06 Jun 2009 14:35:06 GMT</pubDate></item></channel></rss>