我需要从字符串生成一个Key,这样我总是可以从同一个字符串创建相同的键.(特别是一个Key对象,这样我就可以用它来创建一个Cipher来创建一个SealedObject)
这在Java中是否可行,我应该考虑使用哪种类/方法组合?
我有一个应用程序通过以下方式上传到Oracle Data数据类型列:
TO_TIMESTAMP_TZ('2012-10-09 1:10:21 CST','YYYY-MM-DD HH24:MI:SS TZR')
Run Code Online (Sandbox Code Playgroud)
我现在需要从此数据列中提取以下格式和时区:'YYYY-MM-DD HH24:MI:SS CDT'
注意:日期是在CST上传的,但需要在CDT中返回.
我有谷歌,但只发现以下数据类型:
SELECT dateColumn From dateTable;
09-NOV-12
SELECT TO_CHAR(dateColumn,'YYYY-MM-DD HH24:MI:SS') From dateTable;
2012-10-09 1:10:21
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下内容:
TO_TIMESTAMP_TZ(dateColumn,'YYYY-MM-DD HH24:MI:SS CDT')
data format not recognized
TO_TIMESTAMP_TZ(CRTE_DT,'YYYY-MM-DD HH24:MI:SS TZH:TZM')
09-NOV-12 1:10:21 AM +01:00
don't understand why this does not come back as YYYY-MM-DD?
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
在postgres 9.2(CentOS)中,TRUNCATE TABLE命令偶尔需要很长时间才能运行.有一次,截断一个有100K记录的表需要1.5个多小时,在其他情况下甚至更长.当我使用pgAdmin截断表时也会发生此问题.可能的原因是什么?以及如何提高截断性能?
服务器上有16GB内存,shared_buffers = 1536MB
我正在使用新的Spring Boot 2.1.0版本.在Spring Boot 2.1.0中,Liquibase从3.5.5更新到3.6.2.我注意到我的变更集中的一些东西都没有用.
-- test_table.sql
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
--Works fine as TEXT or VARCHAR with Liquibase 3.5 which is bundled with Spring Boot version 2.0.6.RELEASE
--Will only work as VARCHAR with Liquibase 3.6.2 which is bundled with Spring Boot version 2.1.0.RELEASE and above
worksheet_data TEXT
);
-- test_table.csv
id,worksheet_data
1,fff
-- Liquibase Changeset
<changeSet id="DATA_01" author="me" runOnChange="false">
<loadData
file="${basedir}/sql/data/test_table.csv"
tableName="test_table"/>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
这不行.我得到了这个奇怪的堆栈跟踪.它抱怨它找不到liquibase/changelog/fff,我在变更集中根本没有引用它."fff"巧合地匹配table_test.csv中的数据值.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path …Run Code Online (Sandbox Code Playgroud) 我在遗留环境中工作,其中LDAP服务器仅用于身份验证并且不包含任何角色,并且对包含用户角色映射但没有密码的数据库进行授权.
我的计划是通过扩展JNDIRealm来实现一个新的Tomcat领域,并重写角色方法来调用封装的JDBCRealm.
我的领域在server.xml中声明:
<Realm className="com.example.LdapJdbcRealm"
connectionURL="ldap://ldaphost:389"
resourceName="LDAP Auth"
userPattern="uid={0}, ou=Portal, dc=example, dc=com"
dbConnectionURL="jdbc:oracle:thin:@oracledb:1521:dbname"
userTable="db_user" userNameCol="user_id"
userRoleTable="db_user_role_xref" roleNameCol="role_id" />
Run Code Online (Sandbox Code Playgroud)
这是JNDIRealm和JDBCRealm的标准属性名称的组合,稍有改动,因为它们都使用connectionURL.
package com.example;
import org.apache.catalina.Realm;
import org.apache.catalina.Context;
import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.realm.JNDIRealm;
import org.apache.catalina.realm.JDBCRealm;
import java.security.Principal;
import java.io.IOException;
public class LdapJdbcRealm extends JNDIRealm implements Realm
{
private JDBCRealm jdbcRealm = new JDBCRealm();
protected static final String info = "com.example.LdapJdbcRealm/1.0";
protected static final String name = "LdapJdbcRealm";
public String getDbConnectionURL() {
return jdbcRealm.getConnectionURL();
}
public void setDbConnectionURL(String dbConnectionURL) {
jdbcRealm.setConnectionURL(dbConnectionURL); …Run Code Online (Sandbox Code Playgroud) 我很难将sqlldrcsv数据文件导入到我的表中,特别是使用时间戳字段.
我的csv文件中的数据采用以下格式:
16-NOV-09 01.57.48.001000 PM
Run Code Online (Sandbox Code Playgroud)
我已经在我的控制文件中尝试了所有方式的组合,并在圈子中进行.我在网上找不到任何东西 - 甚至没有详细说明所有日期/时间戳格式字符串的Oracle参考页面.
有谁知道这个参考页面在哪里,或者我应该在我的控制文件中使用什么格式字符串来获取此时间戳格式.
作为参考,这是我最近尝试过的:
load data
infile 'kev.csv'
into table page_hits
fields terminated by "~"
( ...
event_timestamp TIMESTAMP "dd-mmm-yy hh24.mi.ss",
...)
Run Code Online (Sandbox Code Playgroud) 我有这样的类结构:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Article {
private String aBaseProperty;
}
@Entity
public class Book extends Article {
private String title;
}
@Entity
public class CartItem {
@ManyToOne(optional = false)
public Article article;
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容来接收所有CartItems引用a Book的内容title = 'Foo':
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<CartItem> query = builder.createQuery(CartItem.class);
Root<CartItem> root = query.from(CartItem.class);
builder.equal(root.get("article").get("title"), "Foo");
List<CartItem> result = em().createQuery(query).getResultList();
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这将导致错误(对我来说很有意义,因为title是Book,在不Article...):
java.lang.IllegalArgumentException: Could not resolve attribute named title
at org.hibernate.ejb.criteria.path.SingularAttributePath.locateAttributeInternal(SingularAttributePath.java:101) … 我正在构建一个包含数据的SQL语句,我想知道我是否会在Oracle 10g中打破一些最大语句长度.
该语句大约为3 200 000字节,不能拆分,必须完整解析.
在我用这种方式投入太多时间之前,我想知道我是否会受到这个声明大小的限制.
我正在使用SQL开发人员,但我认为如果服务器可以做到这一点,那么SQL开发人员也可以.
我正在尝试使用CriteriaBuilderAPI 通过一个查询删除一堆对象.我正在寻找像这样的选择:
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<T> query = criteriaBuilder.createQuery(entityClass);
Root<T> root = query.from(entityClass);
query.select(root).where(/*some condition*/);
return entityManager.createQuery(query).getResultList();
Run Code Online (Sandbox Code Playgroud)
但后来删除而不是选择.据我所知,没有remove或delete方法CriteriaQuery.是否可以使用此API?
我当然可以执行select,然后调用entityManager.remove(object)每个结果,但这感觉非常低效.
我想CARD_TABLE在XT架构中 获取Table的DDL
SQL> select dbms_metadata.get_ddl('TABLE','CARD_TABLE','XT') from dual;
ERROR:
ORA-31603: object "CARD_TABLE" of type TABLE not found in
schema "XT"
ORA-06512: at "SYS.DBMS_METADATA", line 5746
ORA-06512: at "SYS.DBMS_METADATA", line 8333
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)
但我的选择查询工作
select count(*) from XT.CARD_TABLE;
count(*)
---------
0
Run Code Online (Sandbox Code Playgroud)
我查询dba_objects它仍然得到了表:
SQL> select owner,object_type from DBA_OBJECTS
where object_name='CARD_TABLE' 2
3 ;
PUBLIC SYNONYM
XT TABLE PARTITION
XT TABLE PARTITION
XT TABLE PARTITION
XT TABLE
XT TABLE PARTITION
VAT TABLE
7 rows selected.
Run Code Online (Sandbox Code Playgroud) oracle ×4
sql ×4
hibernate ×2
java ×2
jpa ×2
postgresql ×2
centos ×1
criteria ×1
criteria-api ×1
cryptography ×1
date ×1
format ×1
jdbc ×1
key ×1
ldap ×1
liquibase ×1
oracle10g ×1
performance ×1
polymorphism ×1
select ×1
sql-loader ×1
timestamp ×1
tomcat ×1
truncate ×1