我是 Spring Jpa 和 Hibernate 的新手。我正在尝试使用 Oracle 数据库中的自定义函数获取数据。我可以定义一个实体及其相关的服务、实现和存储库。此外,我创建了一个新的自定义 Oracle 方言,registerFunction如下所示。
所以我有两个问题:
1) 在我的 Oracle 数据库中,该函数位于不同的架构下。我需要指定它的架构吗?如果是这样怎么办?或者休眠会自动找到它?
在提供完整的堆栈跟踪后,我将在本文末尾提出我的第二个问题...
这是我的完整堆栈跟踪:
MyOracle10g 方言
package blog;
import org.hibernate.dialect.Oracle10gDialect;
import org.hibernate.dialect.function.StandardSQLFunction;
public class MyOracle10gDialect extends Oracle10gDialect {
public MyOracle10gDialect() {
super();
registerFunction("my_function", new StandardSQLFunction("my_function"));
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序属性
...
spring.jpa.database-platform=blog.MyOracle10gDialect
...
Run Code Online (Sandbox Code Playgroud)
实体:
package blog.models;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "item", schema = "WOS_SOURCE")
public class WosItem {
@Id
@Column(nullable = false)
private String UT;
@Column(nullable = false)
private String …Run Code Online (Sandbox Code Playgroud)