nHibenate 如果只使用原生sql语句后,还能支持多种数据库吗
Sessionsession=HibernateSessionFactory.getSession();Queryquery=session.createSQLQuery...
Session session = HibernateSessionFactory.getSession();
Query query = session.createSQLQuery("select id,name,age,grade_id from student");
List<Object[]> result = query.list();
List<Student> list = new ArrayList<Student>();
for (Object[] o : result) {
Student s =new Student();
s.setId((Integer)o[0]);
s.setName(o[1].toString());
s.setAge((Integer)o[2]);
s.setGradeId((Integer)o[3]);
list.add(s);
}
如果使用数据库一些特性的话,支持不?不使用的话呢? 展开
Query query = session.createSQLQuery("select id,name,age,grade_id from student");
List<Object[]> result = query.list();
List<Student> list = new ArrayList<Student>();
for (Object[] o : result) {
Student s =new Student();
s.setId((Integer)o[0]);
s.setName(o[1].toString());
s.setAge((Integer)o[2]);
s.setGradeId((Integer)o[3]);
list.add(s);
}
如果使用数据库一些特性的话,支持不?不使用的话呢? 展开
3个回答
展开全部
使用数据库特性不行,不过oracle和mysql的语法基本一样,倒不用担心,要是转成sqlserver的话要改些sql语句的,比如oracle中是用||连接字符串,sqlserver中是用+连接,oracle中的to_date()to_number等函数在sqlserver中是用cast(XX as XX)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原生的不行
原生的就是你写什么就执行什么
原生的就是你写什么就执行什么
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询