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);

}
如果使用数据库一些特性的话,支持不?不使用的话呢?
展开
 我来答
Lo丶ye
2013-08-15
知道答主
回答量:49
采纳率:0%
帮助的人:11.2万
展开全部
绝对不可以。自己写sql就相当于重写了hibernate提供的支持多数据库语言的方法。如果是语法相近的数据库还是可以的
aqwazx1
2013-08-12 · 超过10用户采纳过TA的回答
知道答主
回答量:36
采纳率:100%
帮助的人:18.4万
展开全部
使用数据库特性不行,不过oracle和mysql的语法基本一样,倒不用担心,要是转成sqlserver的话要改些sql语句的,比如oracle中是用||连接字符串,sqlserver中是用+连接,oracle中的to_date()to_number等函数在sqlserver中是用cast(XX as XX)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Leo分享
2013-08-13 · TA获得超过754个赞
知道小有建树答主
回答量:1405
采纳率:0%
帮助的人:757万
展开全部
原生的不行
原生的就是你写什么就执行什么
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式