继承映射关系 subclass的查询

时间:2023-03-09 03:33:21
继承映射关系 subclass的查询
 Person大类的映射文件配置

1 <hibernate-mapping package="com.zh.hibernate.subclass">

     <class name="Person" table="PERSONS" discriminator-value="PERSONS">

         <id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id> <discriminator column="TYPE" type="string"></discriminator> <property name="name" type="java.lang.String">
<column name="NAME" />
</property> <property name="age" type="java.lang.String">
<column name="AGE" />
</property> <subclass name="Student" discriminator-value="STUDENT">
<property name="school" type="string" column="SCHOOL"></property>
</subclass> </class> </hibernate-mapping>

查询语句的区别

Hibernate:
select
person0_.ID as ID1_0_0_,
person0_.NAME as NAME3_0_0_,
person0_.AGE as AGE4_0_0_,
person0_.SCHOOL as SCHOOL5_0_0_,
person0_.TYPE as TYPE2_0_0_
from
PERSONS person0_
where
person0_.ID=?
11, zzqq
Hibernate:
select
student0_.ID as ID1_0_0_,
student0_.NAME as NAME3_0_0_,
student0_.AGE as AGE4_0_0_,
student0_.SCHOOL as SCHOOL5_0_0_
from
PERSONS student0_
where
student0_.ID=?
and student0_.TYPE='STUDENT'

相关文章