我试图构建一个spring boot restendpoint,该endpoint调用一个oracle存储过程,该存储过程具有2个in参数和45个约束参数。我创建了一个实体:
package com.me.data.userservice.models;
import javax.persistence.*;
import java.util.Date;
/**
* Created by me on 5/27/17.
*/
@Entity
@NamedStoredProcedureQueries({
@NamedStoredProcedureQuery(name = "getUserDetailsSp",
procedureName = "user_pkg.get_user_details",
parameters = {
@StoredProcedureParameter(mode = ParameterMode.IN, name = "p_in_user_id", type = Long.class),
@StoredProcedureParameter(mode = ParameterMode.IN, name = "p_in_region", type = String.class)
},
resultClasses = UserDetails.class)
})
public class UserDetails {
//region Private members
@Id
private Long user_id;
private String first_name;
private String last_name;
private String email;
@Column(name = "p_in_user_id", nullable = false)
private String userId;
private String user_id;
@Column(name = "p_in_region", nullable = false)
private String region;
private Long scnd_user_id;
...
}
package com.me.data.userservice.repositories;
import com.me.data.userservice.models.UserDetails;
import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
/**
* Created by me on 5/27/17.
*/
public interface UserDetailsRepository extends CrudRepository<UserDetails, Long> {
@Procedure(name="getUserDetailsSp")
public UserDetails findByUserIdAndRegion(@Param("p_in_user_id") String userId, @Param("p_in_region") String region);
}
我实际上刚刚意识到iuser_pkg.get_user_details实际上是一个查询函数。这是如何改变我的应用程序?
我的解决方案或者我应该说我的变通方法有点不同,因为在尝试了很多事情之后,我放弃了@NamedStoredProceduRequeries。所以,我通过@query注释来实现
@Repository
public interface MyObjectRepository extends CrudRepository<MyObject, String> {
@Query(value = "EXECUTE [dbo].[myProc] :fieldName, :pages", nativeQuery = true)
Set<MyObject> findAllByFieldName(@Param("fieldName") String fieldName, @Param("pages") int pages);
}
这个链接可能对SPRING DATA JPA中的数据存储库很有帮助
问题内容: 有人让Spring JMS处理Oracle AQ队列吗? 我正在尝试根据此文章连接到AQ http://blog.nominet.org.uk/tech/2007/10/04/spring-jms-with- oracle-aq/ 但我现在收到此错误JMS-137:必须为具有ADT有效负载的目的地指定有效负载工厂 任何帮助对此表示感谢 谢谢达米安 问题答案: 该错误向我表明它实际上正在
据我所知,Oracle每6个月将其Oracle JDK更新到一个功能版本,大约每3年更新一次Oracle JDK LTS。Oracle JDK在2019年1月之后将不再免费。看起来OpenJDK也在走向6个月的发布周期。 我的问题是: null 谢谢!
本文向大家介绍Oracle中的Oracle Golden Gate和Oracle Active Guard之间的区别,包括了Oracle中的Oracle Golden Gate和Oracle Active Guard之间的区别的使用技巧和注意事项,需要的朋友参考一下 Oracle Golden Gate和Oracle Active Data Guard是数据复制技术。它们都用于数据复制,但是策略不
问题内容: 我有一个Oracle表,其中包含几列的char(n)类型。我使用hibernate工具创建实体对象,此工具在String中映射char类型。 但是,当我部署应用程序时,我收到一个错误,因为Hibernate等待varchar2类型而不是char类型: 我必须使用哪种Java类型来映射实体中的char(n)类型? 谢谢。 问题答案: 此博客条目上有一些有用的信息。 从本质上讲,您需要使h
问题内容: 我正在尝试开发一个简单的Java servlet,它调用Oracle 11g XE数据库。提供给我的数据库使用RAW列类型作为所有表上的ID。 最初,我尝试只从JDBC中获取数据,然后对返回的VARBINARY字节数组进行base64编码,以便将结果通过JSON传递给前端系统。但是,在对base64进行解码并尝试将字节数组设置回该列之后,Oracle / JDBC没有返回数据。 我决定
问题内容: 我正在通过ODBC和Crystal Report 2008使用oracle 11(不确定确切的版本,但是由于LISTAGG无法正常工作,我想它不是第2版)。 这是我遇到的问题: 这是一张桌子: 我正在使用WM_CONCAT函数来获取如下内容: 这是用于此的SQL: 但我希望对区域进行排序,因此我尝试了以下操作: 但由于某种原因,它返回以下错误: 我真的不明白我在这里做错了什么…有人可以