我正在使用Spring boot + H2 + Oracle + JPA。
当我使用H2时,一切正常。像插入和检索操作一样工作正常。但是当我将下面的配置放在使用Oracle时,无论我对Oracle做什么操作,都会开始抛出异常。
database-platform: org.hibernate.dialect.Oracle10gDialect
datasource:
url: "jdbc:oracle:thin:@//localhost:1521/XE"
username: root
password: root
driver-class-name: oracle.jdbc.OracleDriver
我创建了一个只有id和name的简单Test类,并试图用Oracle保存它,即使使用Oracle也能正常工作。但我的旧豆子没有与甲骨文合作。
以下是我在Oracle和H2中都有效的新Test.java。
Test.java
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GEN")
@SequenceGenerator(name = "SEQ_GEN", sequenceName = "TEST_SEQ", allocationSize = 1)
private long id;
private String name;
我的一个老课程适用于H2而不适用于Oracle。
Abc.java
@Entity
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class SampleRule
{
@ManyToOne(cascade = CascadeType.DETACH)
@RestResource(exported = false)
private Test test;
甚至Abc.java类也没有在Oracle中创建,而是在H2中创建。
为什么使用导入脚本不会创建很少的表?但是当我使用H2时它们被创建了,但是在Oracle中它们不是。
何时使用@Table和@Column注释?如果我使用Oracle,那么我需要使用这些注释吗? 。因为即使没有这些注释,我的Test.java类也被创建并保存到Oracle数据库中。我也能够检索它。但是当我尝试检索它时,其他表会抛出错误。
谢谢!