我正在尝试使用hibernate 3.3.2.GA执行sql本机查询.
我有以下查询.
session.createSQLQuery("SELECT {dept1.*}, {dept2.*} FROM Dept d1, Dept d2 WHERE d1.deptId = d2.deptId").
addEntity("dept1",com.test.pojo.Dept.class).
addEntity("dept2",com.test.pojo.Dept.class).
list();
Run Code Online (Sandbox Code Playgroud)
Dept类的映射文件是
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.test.pojo.Dept">
<id column="deptId" name="deptId" type="long">
<generator class="native"/>
</id>
<version name="version" access="field" column="version"></version>
<property name="deptName" type="string" column="deptName"/>
<set name="emps" cascade="all" inverse="true">
<key column="deptId"></key>
<one-to-many class="com.test.pojo.Emp"/>
</set>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
但为什么我得到以下错误?它将我的查询转换为
SELECT dept1.**deptId as deptId1_0_,**dept1.**version as version__0,**dept1.**deptName as deptName1_0 _,**dept2.**deptId as deptId1_1 _,**dept2.**version as version1_1 _,**dept2.**deptName as deptName1_1_**FROM Dept d1,Dept d2 WHERE …
我遵循该类的定义.
public class Test2<T extends Test3> {
private T t ;
public T foo() {
Test3 test3 = new Test3();
t = test3; // I get compilation error here.**
return t;
}
}
class Test3 {
}
Run Code Online (Sandbox Code Playgroud)
我在第t = test3行得到编译错误,说"类型不匹配无法从Test3转换为T;有什么问题?