刚学hibernate,测试时遇到下面这个问题想问一下大家(在google上找过了但是解决方案试了没用,依然这样
):
org.hibernate.exception.GenericJDBCException: could not load an entity: [com.bing.hibernate.Animal#1]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
Caused by: java.sql.SQLException: Unknown type '16 in column 2 of 6 in binary-encoded result set.
这个是我做的简单测试:public void testLoad5() {
Session session = null;
try {
session = HibernateUtils.getSession();
//session.beginTransaction();
//可以正确的判断出Pig的类型,因为返回的是具体的Pig类型
//get支持多态查询
Animal animal = (Animal)session.get(Animal.class, 1); if (animal instanceof Pig) {
System.out.println(animal.getName());
}else {
System.out.println("不是猪");
}
// session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
// session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
} 这个是我的映射文件*.hbm.xml
<hibernate-mapping package="com.bing.hibernate">
<class name="Animal" table="t_animal" lazy="false">
<id name="id">
<generator class="native"/>
</id>
<discriminator column="type" not-null="true"/>
<property name="name" />
<property name="sex" column="sex" type=""/>
<subclass name="Pig" discriminator-value="P">
<property name="weight"></property>
</subclass>
<subclass name="Bird" discriminator-value="B">
<property name="height"></property>
</subclass>
</class>
</hibernate-mapping>初次发贴,可能还有些地方需要改正,希望大家能指出来,谢谢大家啦!!!
):
org.hibernate.exception.GenericJDBCException: could not load an entity: [com.bing.hibernate.Animal#1]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
Caused by: java.sql.SQLException: Unknown type '16 in column 2 of 6 in binary-encoded result set.
这个是我做的简单测试:public void testLoad5() {
Session session = null;
try {
session = HibernateUtils.getSession();
//session.beginTransaction();
//可以正确的判断出Pig的类型,因为返回的是具体的Pig类型
//get支持多态查询
Animal animal = (Animal)session.get(Animal.class, 1); if (animal instanceof Pig) {
System.out.println(animal.getName());
}else {
System.out.println("不是猪");
}
// session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
// session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
} 这个是我的映射文件*.hbm.xml
<hibernate-mapping package="com.bing.hibernate">
<class name="Animal" table="t_animal" lazy="false">
<id name="id">
<generator class="native"/>
</id>
<discriminator column="type" not-null="true"/>
<property name="name" />
<property name="sex" column="sex" type=""/>
<subclass name="Pig" discriminator-value="P">
<property name="weight"></property>
</subclass>
<subclass name="Bird" discriminator-value="B">
<property name="height"></property>
</subclass>
</class>
</hibernate-mapping>初次发贴,可能还有些地方需要改正,希望大家能指出来,谢谢大家啦!!!
自己检查看看