Hibernate對於StoreProcedure,利用NativeSQL的OR Mapping

在Hibernate 中,對於Entity取得的方式,當然是利用OR Mapping。

但是,除了

@Entity
@Table(name = “TABLENAME")

這種寫法以外,其實還有其他的 NativeSQL的Mapping的方式,以下寫法正是其中的範例。更經典的範例請參閱:http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/querysql.html

@Entity
@SqlResultSetMapping( name="compositekey",
entities=@EntityResult( entityClass = SpaceShip.class,
fields = {
@FieldResult(name="name", column = “name"),
@FieldResult(name="model", column = “model")
}),
columns = {
@ColumnResult(name = “surface"),
@ColumnResult(name = “volume")
}
)

@NamedNativeQueries({
@NamedNativeQuery( name = “callStockStoreProcedure",
query = “CALL GetStoreProcedure(:stockCode)",
resultSetMapping="compositekey"
// ,  resultClass = SpaceShip.class
)
})
public class SpaceShip{
@Id
private String name;

private String model;
private double surface;
private double volume;

}

廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s