我正在使用 MVC 模式 我有两个表:员工和地址
说, 员工就像
-------------------
Id | Name | DeptId
-------------------
101 | Jake | 501
102 | Donald | 502
我有一张 Department 表,例如
-----------------------------
DeptId | Name | Description
-----------------------------
501 | IT | software assistance
502 | HR | Human resources
现在因为我使用的是 MVC,所以这些表被映射到类 喜欢
@Table(name="Employee")
Class Employee{
@Id
@Column(name="Id")
private Long id;
@Column(name="Name")
private String name;
@Column(name="DeptId")
private Long deptId;
@ManyToOne
@JoinColumn(name="DeptId", referencedColumnName="id", insertable=false,updatable=false)
private Department dept;
//getters and setters go here
}
和其他类部门(映射到部门表)
@Table(name="Department")
Class Department{
@Id
@Column(name="Id")
private Long id;
@Column(name="Name")
private String name;
@Column(name="Description")
private String description;
//getters and setters go here
}
注意 Employee 类引用了 Department 类的一个对象。 这个@ManyToOne 和@JoinColumn 注释帮助我们自动检索相应的部门对象和员工对象
直接在代码中查询很容易 但是如果我在我的代码中只使用过程或函数怎么办 我尝试了不同的方法,但似乎没有帮助
有时我会收到类似这样的错误
Cannot return resultset from a stored procedure in oracle 10g
谁能解释一下。我还必须使用 JNDI
我能否以返回我的方式从过程/函数中获取结果 List<Employee>
(不是我自己必须整理成对象的原始结果集)。应该可以使用 hibernate no 吗?
谢谢
最佳答案
您的 PLSQL 需要返回 ref cursor .
JPA 2.1 支持将 CallableStatement 游标映射到实体。看这个answer .
关于java - 如何从 plsql 中的存储过程获取 java 代码中的结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35531541/