I am a beginner to hibernate....
I have a two tables like,
t_2013
id name
1 donald
t_2014
id name
2 charles
This is my jpa,
@Entity
@Table(name="t_2013")
public class Test implements Serializable {
@Id
@GeneratedValue
@Column(name="id")
private int id;
@Column(name="name")
private String name;
这里我创建了一个表名为t_2013的jpa。我的问题是如何使用相同的jpa从t_2014获取数据。有没有办法访问具有类似表结构的许多表的单个jpa
Query
-----
List<Test> list= hibernateTemplate.getSessionFactory().openSession().createSQLQuery("Select * from t_2014").list();
error:java.lang.ClassCastException:
or
List<Object> list= hibernateTemplate.getSessionFactory().openSession().createSQLQuery("Select * from t_2014").list();
if i use above code how to iterate it.
Iterator ir=list.iterator();
while (pairs.hasNext()) {
Object[] pair = (Object[]) pairs.next();
Test obj=(Test)pair[0];
}
如果我迭代上面的格式我得到了这个错误:java.lang.Integer不能转换为com.model.Test。如何从类似的表结构中获取数据......
答案 0 :(得分:0)
你没有使用HQL,而是使用SQL。 HQL使用实体,而不是表。 Test
映射到t _ 2013
,而不是t_2014
。阅读有关HQL的Hibernate文档。
您想要的是select t from Test t
,它会返回包含List<Test>
所有行的t_2013
。如果您想要t_2014
的行,那么您需要一个映射到t_2014
的实体。