SEAM示例dvdstore:鉴别器(discriminator)的应用

  查看src\src\com\jboss\dvd\seam \Customer.java文件,可以知道这是一个实体类,并且扩展自User类。其中的注解 @DiscriminatorValue("customer") ,确定了 Customer 子类的鉴别器字段的标志值为“ customer ”,即对应数据表中 鉴别器字段的值等于 “customer ”的记录。

  那么,它的鉴别器字段是什么?这需要查看它的父类 User 。定义 鉴别器字段的注解是 @DiscriminatorColumn ,但查看 User.java ,并没有 DiscriminatorColumn 注解。

  我们可以看看 JAVAEE5 的文档的描述,链接地址是:
  http://java.sun.com/javaee/5/docs/api/javax/persistence/DiscriminatorColumn.html

  其中,有一段描述:If the DiscriminatorColumn annotation is missing, and a discriminator column is required, the name of the discriminator column defaults to "DTYPE" and the discriminator type to DiscriminatorType.STRING 。

  即如果不指定DiscriminatorColumn注解,鉴别器字段将默认为DTYPE,类型为STRING。

  我们再打开 dvdstore 数据库看看表 Users ,定义的字段 果真是 DTYPE。

  同样的,
在src\src\com\jboss\dvd\seam \Admin.java 中,定义了@DiscriminatorValue("admin"),意思也就很明显了。

 


请参考:
JBoss Seam从头学到脚之19---dvdstore例子的理解(2)
http://abelzcg.iteye.com/blog/360671

JPA中的实体层次设计(8)
http://dennnis-zane.blog.sohu.com/12519970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值