Tag: oracle12c

Oracle 12的@Temporal(TemporalType.DATE)

在我们的DB中,我们有多个具有Date字段的实体。 Oracle将每个日期视为相同,具有日期和时间部分。 然而,JPA实体通过annotaton @Temporal进行区分。 当我们想要省略时间部分时,我们使用@Temporal(TemporalType.DATE)注释日期字段,Oracle保存00:00:00,如果没有,我们只留下它没有注释。 例: @Entity public class MyEntity implements Serializable { private static final long serialVersionUID = 1L; @Id private long myentityId; @Temporal(TemporalType.DATE) private Date importantDate; //01.01.2015 00:00:00 private Date creationDate; //01.01.2015 10:35:51 … } … MyEntity me = new MyEntity(); me.setImportantDate(new Date()); me.setCreationDate(new Date()); … 我们从Oracle 11升级到Oracle 12,现在不再省略importantDate的时间部分! 我在两个数据库上使用完全相同的程序对此进行了广泛测试。 这实际上打破了我们的应用 我该怎么做才能恢复以前的行为? 更新1:我缩小了问题:驱动程序ojdbc6 […]

我可以在Oracle 10g数据库上使用Oracle JDBC 12.1.0.1(适用于12c数据库)吗?

只是一个简单的问题(我猜)。 Oracle 为Oracle Database 12c发布了一个新的JDBC驱动程序,包括Java 7 JDBC驱动程序(ojdbc7 – 12.1.0.1)。 在这里,我们一直在使用Oracle 10g数据库和ojdbc6 for Oracle 11g(11.2.0.4),没有任何问题。 现在,我的问题。 如果我升级我的应用程序服务器以使用ojdbc7 for Oracle 12c,它是否存在风险? Oracle是否保持其驱动程序与先前版本的兼容性?

当语句具有动态表名时,如何防止SQL注入?

我有这样的代码。 final PreparedStatement stmt = connection .prepareStatement(“delete from ” + fullTableName + ” where name= ?”); stmt.setString(1, addressName); fullTableName计算类似于: public String getFullTableName(final String table) { if (this.schemaDB != null) { return this.schemaDB + “.” + table; } return table; } 这里schemaDB是环境的名称(可以随时间更改), table是表名(将被修复)。 schemaDB值来自XML文件,这使得查询容易受到SQL注入的攻击。 查询:我不确定如何将表名用作预准备语句(如本示例中使用的name ),这是针对SQL注入的100%安全措施。 任何人都可以建议我,可能有什么方法可以解决这个问题? 注意:我们将来可以迁移到DB2,因此该解决方案应该与Oracle和DB2兼容(如果可能的话,与数据库无关)。

SQL错误:ORA-02000:在创建基于标识列的表时缺少ALWAYS关键字

我尝试在表上创建一个自动递增的列,正如我在本文中看到的那样,有两种方法,第二种使用Identity列的实现是一种更优雅的解决方案,但是当我尝试实现它时,我收到以下错误: Error at Command Line : 3 Column : 31 Error report – SQL Error: ORA-02000: missing ALWAYS keyword 02000. 00000 – “missing %s keyword” 实际表脚本实现: CREATE TABLE “PLATFORM”.”AUTH_PERMISSION” ( ID NUMBER(19,0) GENERATED BY DEFAULT ON NULL AS IDENTITY, — ID NUMBER(19,0) PRIMARY KEY NOT NULL, NAME VARCHAR2(50) UNIQUE NOT NULL, ACTION_ID NUMBER(19,0) NOT NULL, […]