当前位置: 首页 > 知识库问答 >
问题:

JavaSpring Boot-使用Oracle Sql实体的问题

陆宾白
2023-03-14

我使用Intellij连接到oracle数据库,添加了持久性框架,并通过数据库模式生成持久性映射

package springoraclesql.demo.domain;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Book {
private long bookId;
private String bookName;
private String bookAuthor;
private Long bookPrice;

@Id
@Column(name = "BOOK_ID")
public long getBookId() {
    return bookId;
}

public void setBookId(long bookId) {
    this.bookId = bookId;
}

@Basic
@Column(name = "BOOK_NAME")
public String getBookName() {
    return bookName;
}

public void setBookName(String bookName) {
    this.bookName = bookName;
}

@Basic
@Column(name = "BOOK_AUTHOR")
public String getBookAuthor() {
    return bookAuthor;
}

public void setBookAuthor(String bookAuthor) {
    this.bookAuthor = bookAuthor;
}

@Basic
@Column(name = "BOOK_PRICE")
public Long getBookPrice() {
    return bookPrice;
}

public void setBookPrice(Long bookPrice) {
    this.bookPrice = bookPrice;
}

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    Book book = (Book) o;

    if (bookId != book.bookId) return false;
    if (bookName != null ? !bookName.equals(book.bookName) : book.bookName != null) return false;
    if (bookAuthor != null ? !bookAuthor.equals(book.bookAuthor) : book.bookAuthor != null) return false;
    if (bookPrice != null ? !bookPrice.equals(book.bookPrice) : book.bookPrice != null) return false;

    return true;
}

@Override
public int hashCode() {
    int result = (int) (bookId ^ (bookId >>> 32));
    result = 31 * result + (bookName != null ? bookName.hashCode() : 0);
    result = 31 * result + (bookAuthor != null ? bookAuthor.hashCode() : 0);
    result = 31 * result + (bookPrice != null ? bookPrice.hashCode() : 0);
    return result;
}
}

我在java/META-INF下添加了Oracle jdbc和我的persistence.xml,如下所示`

<persistence-unit name="NewPersistenceUnit">
    <class>springoraclesql.demo.domain.Book</class>
    <properties>
        <property name="toplink.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="toplink.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
        <property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
        <property name="openjpa.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="openjpa.ConnectionDriverName" value="oracle.jdbc.OracleDriver"/>
        <property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="eclipselink.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
    </properties>
</persistence-unit>

我的application.properties如下所示

oracle.dbsource.url=jdbc:oracle:thin:@localhost:1521:xe
oracle.dbsource.username=talon
oracle.dbsource.password=talon
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.name=talon
spring.datasource.password=talon
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect

当我运行spring项目时,我有很多java.sql.SQLException:ORA-01017:无效的用户名/密码;拒绝登录错误。但是url、用户名和密码是正确的。

2018-01-12 13:05:06.521 ERROR 10220 --- [           main] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool.
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
...
2018-01-12 13:05:06.536  WARN 10220 --- [           main] o.s.b.a.orm.jpa.DatabaseLookup           : Unable to determine jdbc url from datasource
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: ORA-01017: invalid username/password; logon denied
...
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: ORA-01017: invalid username/password; logon denied

at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:326) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE]
... 61 common frames omitted
Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
...
2018-01-12 13:05:06.568 ERROR 10220 --- [           main] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool.
java.sql.SQLException: ORA-01017: invalid username/password; logon d
...
2018-01-12 13:05:07.169 ERROR 10220 --- [           main] org.hibernate.hql.spi.id.IdTableHelper   : Unable obtain JDBC Connection
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
...
2018-01-12 13:05:07.191  INFO 10220 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2018-01-12 13:05:07.438  INFO 10220 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice:    org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@75f9eccc: startup date [Fri Jan 12 13:05:04 CET 2018]; root of context hierarchy
2018-01-12 13:05:07.486 ERROR 10220 --- [           main] o.a.tomcat.jdbc.pool.ConnectionPool      : Unable to create initial connections of pool.
java.sql.SQLException: ORA-01017: invalid username/password; logon denied

在我尝试使用DriverManager.getConnection连接到同一架构之前,以这种方式检索数据没有任何问题。

共有1个答案

公孙栋
2023-03-14

我用spring.datasource.name而不是spring.datasource.username

 类似资料:
  • 嘿,伙计们,我正在用springboot开发一个Java应用程序,我是springboot的初学者,每次我试图运行这个项目时都会出现这些错误,我不知道发生了什么,我已经回顾了许多文章,但没有一篇能帮我解决这个问题。我把application.properties的代码和它在运行应用程序时抛出的错误留给你,谢谢 application.properties 错误的图像 错误 错误 错误 错误 我希望

  • 如何解决这个问题? 我的代码 流星实体

  • 此代码正在触发错误 无效的sql对象。 从文档中我觉得表中的任何对象都是sql对象<这里怎么了? 在Oracle 10G中考虑以下函数 在10G上下文中考虑以下函数 我得到了一个错误的无效对象 我的桌子就像 此表位于“测试”模式中,我与SCOTT有联系,SCOTT有“测试时授予选择权”。测试表到scott's 我还是会出错 ERR_INVALID_OBJECT

  • 问题:当我引用实体集合字段作为HQL语句的一部分时,HQL查询没有返回任何结果。它适用于一个HQL投影,例如: categoryTypes是IncidentEntity类字段之一(它是定义为多个联接的集合,如下所示)。这很好,但当我尝试引用另一个映射为多个联接的投影集合时,问题就出现了。 一旦我这样做,我就得到一个空的集合。这意味着hibernate生成的SQL查询不会返回任何内容。我已经通过在S

  • 当我尝试发送一个GET请求到我的Spring Boot应用程序时,我有这个错误,我不知道我错过了什么! 我有了这个数据库,并在Eclipse中创建了JPA实体和关系,相应地为Spring Boot项目安装了STS(Spring Tool Suite)。 portata.java Ristorante.java Tipocucina.java 我错过了什么???

  • 我有3个实体- > 课程 组件 时间线课程是一个独立的实体,具有以下属性:课程-(id Integer主键,Course_name) @ Id @ Column(name = " Id ")Integer courseId;@Column(name = "course_name ")字符串course _ name; 接下来是另一个实体模块,模块中的每一行都与一门课程相关,因此模块和课程之间存在一