hibernate 本地SQL查询问题
String sql="select {s.*},{e.*} from stu_base s inner join education e on s.sno=e.sno ";
SQLQuery sqlQuery=session.createSQLQuery(sql);
sqlQuery.addEntity("s", StuBaseInfo.class);
sqlQuery.addEntity("e", Education.class);
sqlQuery.list();
采用的是一对一外键关联查询
StuBaseInfo类Mapping
<hibernate-mapping package="com.stu.vo">
<class name="StuBaseInfo" table="stu_base" lazy="true"
batch-size="4">
<id name="sno" type="java.lang.String">
<column name="sno"></column>
<generator class="assigned"></generator>
</id>
<property name="sname" type="java.lang.String" length="10">
<column name="sname"></column>
</property>
<property name="sex" type="java.lang.String" length="10">
<column name="sex"></column>
</property>
<property name="nation" type="java.lang.String" length="10">
<column name="nation"></column>
</property>
<property name="birthday" type="java.lang.String" length="10">
<column name="birthday"></column>
</property>
<property name="birthplace" type="java.lang.String" length="20">
<column name="birthplace"></column>
</property>
<property name="publical" type="java.lang.String" length="10">
<column name="publical"></column>
</property>
<property name="cardID" type="java.lang.String" length="20">
<column name="cardID"></column>
</property>
<property name="health" type="java.lang.String" length="10">
<column name="health"></column>
</property>
<property name="marry" type="java.lang.String" length="10">
<column name="marry"></column>
</property>
<property name="favour" type="java.lang.String" length="100">
<column name="favour"></column>
</property>
<set name="practices" inverse="true" cascade="all" lazy="true">
<key column="sno" />
<one-to-many class="Practice" />
</set>
<one-to-one name="edu" class="Education" cascade="all" />
</class>
</hibernate-mapping>
-----------------------------------------------------------------
Education 类Mapping
<hibernate-mapping package="com.stu.vo">
<class name="Education" table="education" lazy="true">
<id name="sno" type="java.lang.String">
<column name="sno"></column>
<generator class="foreign">
<param name="property">stu</param>
</generator>
</id>
<property name="gra_school" type="java.lang.String" length="30">
<column name="gra_school"></column></property>
<property name="gra_time" type="java.lang.String" length="10">
<column name="gra_time"></column></property>
<property name="dept" type="java.lang.String" length="30">
<column name="dept"></column></property>
<property name="speciality" type="java.lang.String" length="30">
<column name="speciality"></column></property>
<property name="banji" type="java.lang.String" length="10">
<column name="banji"></column></property>
<property name="entrytime" type="java.lang.String" length="10">
<column name="entrytime"></column></property>
<property name="exittime" type="java.lang.String" length="10">
<column name="exittime"></column></property>
<property name="certificate" type="java.lang.String" length="10">
<column name="certificate"></column></property>
<property name="computer" type="java.lang.String" length="10">
<column name="computer"></column></property>
<property name="z_language" type="java.lang.String" length="10">
<column name="z_language"></column></property>
<property name="z_level" type="java.lang.String" length="10">
<column name="z_level"></column></property>
<property name="f_language" type="java.lang.String" length="10">
<column name="f_language"></column></property>
<property name="f_level" type="java.lang.String" length="10">
<column name="f_level"></column></property>
<one-to-one name="stu" class="StuBaseInfo" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
运行抛出[Microsoft][ODBC SQL Server Driver]无效的描述符索引 异常。
但是sql="select s.* from stu_base s left join education e on s.sno=e.sno ";执行时没问题
就是一起查询s.*,e.*就会出错。请问是什么原因?