日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Hibernate中通过annotaion配置SQLServer的存储过程

發(fā)布時(shí)間:2025/7/14 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate中通过annotaion配置SQLServer的存储过程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

環(huán)境:hibernate 3.3.1 +spring 2.5.6+ sql server 2005

?

首先,上spring的hibernate配置

?

<bean id="sessionFactory"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"p:dataSource-ref="dataSource"><property name="hibernateProperties"><props><!-- SQLServer DIALECT --><prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop><prop key="hibernate.show_sql">true</prop></props></property><property name="annotatedClasses"><list><value>com.bean.Contact</value></list></property></bean>

?

這里沒有使用自動(dòng)搜索·通過下面代碼配置實(shí)例化類·

<property name="annotatedClasses"><list><value>com.bean.Contact</value></list> </property>

?下一步 Contact類代碼:

import javax.persistence.Entity; import javax.persistence.EntityResult; import javax.persistence.NamedNativeQuery; import javax.persistence.SqlResultSetMapping;@Entity @SqlResultSetMapping(name = "ContactMapping", entities = @EntityResult(entityClass = Contact.class)) @NamedNativeQuery(name = "ContactQuery", query = "{call GetContact(?,?)}", resultSetMapping = "ContactMapping") public class Contact{...........}

?其中:

?

???? 1 ContactQuery是可執(zhí)行的查詢名字·以后要在getNamedQuery()方法中用到·

???? 2 ContactMapping是執(zhí)行結(jié)果集和類的對(duì)應(yīng)表,這里結(jié)果集的列名和類的屬性名一致·所以就隱含設(shè)置了·

???? 3 {call GetContact(?,?)} ·GetContact是存儲(chǔ)過程的名字·(?,?)是指有兩個(gè)參數(shù)

???? 4 注意上面的引用包·用hibernate的包會(huì)出錯(cuò)·

?

? 再來看看DAO類的代碼:

?

Query query = getSession().getNamedQuery("ContactQuery"); query.setString(0, ID); query.setString(1, date); List<Contact> ContactList= query.list();

?其中:

?

1 getSession().getNamedQuery("ContactQuery")調(diào)用的就是在annotation里定義的名子

2 通過query.setString()設(shè)置存儲(chǔ)過程的參數(shù)

?

PS:在網(wǎng)上查資料時(shí)看到有說這存儲(chǔ)過程是必須要有返回結(jié)果集的·

轉(zhuǎn)載于:https://my.oschina.net/piorcn/blog/310543

總結(jié)

以上是生活随笔為你收集整理的Hibernate中通过annotaion配置SQLServer的存储过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。