<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>旁门左道 &#187; discriminator</title>
	<atom:link href="http://log.medcl.net/item/tag/discriminator/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.medcl.net</link>
	<description>记录生活</description>
	<lastBuildDate>Tue, 29 Nov 2011 15:39:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>NHibernate中的识别器（discriminator）</title>
		<link>http://log.medcl.net/item/2010/03/nhibernate-in-the-identifier-discriminator/</link>
		<comments>http://log.medcl.net/item/2010/03/nhibernate-in-the-identifier-discriminator/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 07:30:59 +0000</pubDate>
		<dc:creator>medcl</dc:creator>
				<category><![CDATA[Nhibernate]]></category>
		<category><![CDATA[discriminator]]></category>
		<category><![CDATA[识别器]]></category>

		<guid isPermaLink="false">http://log.medcl.net/?p=243</guid>
		<description><![CDATA[Nhibernate说明： 识别器（discriminator） 在"一棵对象继承树对应一个表"的策略中,元素是必需的,它声明了表的识别器字段。识别器字段包含标志值，用于告知持久化层应该为某个特定的行创建哪一个子类的实例。只能使用如下受到限制的一些类型：String, Char, Int32, Byte, Int16, Boolean, YesNo, TrueFalse. (1) column (可选 - 默认为 class) 识别器字段的名字 (2) type (可选 - 默认为 String) 一个NHibernate字段类型的名字 (3) force (可选 - 默认为 false) "强制"NHibernate指定允许的识别器值,就算取得的所有实例都是根类的。 (4) insert (可选 - 默认为 true) 当识别器是被映射的组件的标识符的一部分时设置为false。 标识器字段的实际值是根据 和元素的discriminator-value得来的. force属性仅仅是在表包含一些未指定应该映射到哪个持久化类的时候才是有用的。这种情况不是经常会遇到。 转一下这篇,From:http://ttitfly.javaeye.com/blog/162766 关键字: hibernate中discriminator tbl_user 是一张表。User是它一个po，NormalUser也是它的一个po，NormalUser继承于User，那么将User和NormalUser持久到数据库的tbl_user中，tbl_user是怎么区分的呢？tbl_user中有一个字段type，它是来区分的。 来看他们的映射文件： Java代码 Java代码 当你用User时hibernate就会将tbl_user的type的值置为2，当你用NormalUser时hibernate就会将tbl_user的type的值置为1 这就区分了，而且不用你手动操作 Tags: discriminator, Nhibernate, 识别器]]></description>
		<wfw:commentRss>http://log.medcl.net/item/2010/03/nhibernate-in-the-identifier-discriminator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

