hibernate如何从现有的数据库视图中检索数据? [英] How hibernate retrieve data from existing database view?

查看:168
本文介绍了hibernate如何从现有的数据库视图中检索数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是hibernate的新手。我的问题是我有一个Oracle数据库。我在数据库中有一个视图。现在我想用hibernate在该视图中检索数据。有没有可能的解决方案?



非常感谢。

解决方案

下面的代码片段可以解决你的问题,这已从教程中提取:
创建或替换VIEW cameron AS
SELECT last_name AS姓氏
FROM作者
WHERE first_name ='Cameron';

查看实体

@Entity
@NamedNativeQuery(name =findUniqueCameronsInOrder,query =select * from cameron order by surname,resultClass = Cameron.class )
公共类Cameron实现java.io.Serializable {

private static final long serialVersionUID = 8765016103450361311L;

私人字符串姓氏;

@Id
@Column(name =SURNAME,nullable = false,length = 50)
public String getSurname(){
return surname;
}

public void setSurname(final String surname){
this.surname = surname;
}
}

Hibernate映射文件。

< mapping class =examples.hibernate.spring.query.domain.Cameron/>

终于有一些测试!...

@Test
public void findTheCameronsInTheView()throws Exception {
final List< Cameron> camerons = findUniqueCameronsInOrder();
assertEquals(2,camerons.size());
最终卡梅伦judd = camerons.get(0);
final Cameron mcKenzie = camerons.get(1);
assertEquals(Judd,judd.getSurname());
assertEquals(McKenzie,mcKenzie.getSurname());
}


I'm new to hibernate. My problem is that I have an Oracle database. I have a view in the database. Now I want to use hibernate to retrieve data in that view. Is there any possible solutions?

Thank you very much.

解决方案

Below Snippet can solve your problem, which has been extracted from the tutorial: Mapping Hibernate Entities to Views

Database Query 

CREATE OR REPLACE VIEW cameron AS
  SELECT last_name AS surname
  FROM author
  WHERE first_name = 'Cameron';

view entity

@Entity
@NamedNativeQuery(name = "findUniqueCameronsInOrder", query = "select * from cameron order by surname", resultClass = Cameron.class)
public class Cameron implements java.io.Serializable {

    private static final long serialVersionUID = 8765016103450361311L;

    private String surname;

    @Id
    @Column(name = "SURNAME", nullable = false, length = 50)
    public String getSurname() {
        return surname;
    }

    public void setSurname(final String surname) {
        this.surname = surname;
    }
}

Hibernate mapping file.

 <mapping class="examples.hibernate.spring.query.domain.Cameron" />

finally some test !...

 @Test
    public void findTheCameronsInTheView() throws Exception {
        final List<Cameron> camerons = findUniqueCameronsInOrder();
        assertEquals(2, camerons.size());
        final Cameron judd = camerons.get(0);
        final Cameron mcKenzie = camerons.get(1);
        assertEquals("Judd", judd.getSurname());
        assertEquals("McKenzie", mcKenzie.getSurname());
    } 

这篇关于hibernate如何从现有的数据库视图中检索数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆