小编zig*_*ggy的帖子

从父表和子表中删除行

假设Oracle 10G中有两个表

TableA (Parent) --> TableB (Child)
Run Code Online (Sandbox Code Playgroud)

TableA中的每一行都有几个与它相关的子行.

我想删除TableA中的特定行,这意味着我必须首先删除tableB中的相关行.

这会删除子条目

delete from tableB where last_update_Dtm = sysdate-30;
Run Code Online (Sandbox Code Playgroud)

要删除子表中刚删除的行的父行,我可以执行类似这样的操作

Delete from TableA where not exists (select 1 from tableB where tableA.key=tableB.key);
Run Code Online (Sandbox Code Playgroud)

以上内容还将删除子表中的行(last_update_Dtm = sysdate-30)为false.TableA没有last_update_dtm列,因此如果没有子表中的条目,则无法知道要删除哪些行.

我可以在删除之前将密钥保存在子表中,但这似乎是一种昂贵的方法.删除两个表中的行的正确方法是什么?

编辑

为了更好地解释我想要实现的目标,如果两个表之间没有约束,以下查询将完成我想要做的事情.

Delete from tableA
Where exists (
Select 1 from tableB
where tableA.key=tableB.key
and tableB.last_update_dtm=sysdate-30)

Delete from tableB where last_update_dtm=systdate-30
Run Code Online (Sandbox Code Playgroud)

sql oracle

6
推荐指数
2
解决办法
9万
查看次数

解析格式错误/不完整/无效的XML文件

我有一个进程使用JDOM和xpath解析XML文件来解析文件,如下所示:

private static SAXBuilder   builder         =   null;
private static Document     doc         =   null; 
private static XPath        xpathInstance       =   null;

builder = new SAXBuilder();
Text list = null;

try {
    doc = builder.build(new StringReader(xmldocument));

} catch (JDOMException e) {
            throw new Exception(e);
} 



try {
    xpathInstance = XPath.newInstance("//book[author='Neal Stephenson']/title/text()");
    list = (Text) xpathInstance.selectSingleNode(doc);
} catch (JDOMException e) {
    throw new Exception(e);
}
Run Code Online (Sandbox Code Playgroud)

以上工作正常.xpath表达式存储在属性文件中,因此可以随时更改这些表达式.现在我必须处理更多来自遗留系统的xml文件,该系统只会以4000字节的块发送xml文件.现有处理读取4000字节块并将它们存储在Oracle数据库中,每个块作为数据库中的一行(对遗留系统进行任何更改或将块存储为数据库中的行的处理是不可能的) .

我可以通过提取与特定xml文档相关的所有行并合并它们然后使用现有处理(如上所示)来解析xml文档来构建完整的有效XML文档.

但事实是,我需要从XML文档中提取的数据始终位于前4000个字节上.这个大块的课程不是一个有效的XML文档,因为它不完整但会包含我需要的所有数据.由于JDOM构建器拒绝它,我无法解析一个块.

我想知道我是否可以解析格式错误的XML块而不必合并所有部分(可能会有很多部分)以获得有效的XML文档.这将节省我几次到数据库的行程,以检查一个块是否可用,并且我不必合并100个块只是为了能够使用前4000个字节.

我知道我可能会使用java的字符串函数来提取相关数据但这可能是使用解析器甚至xpath吗?或者他们都希望xml文档在解析之前是一个格式良好的文档?

java xml xpath parsing jdom

6
推荐指数
1
解决办法
8352
查看次数

BufferedReader构造函数对FileReader的期望是什么

我需要了解这两个类之间的区别以及它们如何相互协作.据我所知,FileReader一次从一个文件中读取字符,BufferedReader读取大量数据并将其存储在缓冲区中,从而使其更快.

为了使用BufferedReader,我必须提供一个FileReader.如果BufferedReader类以不同方式读取文件,它如何使用FileReader?这是否意味着BufferedReader使用FileReader,因此在幕后,字符仍然一次只能读取一个字符?我想我的问题是BufferedReader类如何使用FileReader类.

java io file-io file

6
推荐指数
2
解决办法
2132
查看次数

手动在Eclipse上安装subclipse

我从http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240下载了subclipse

我下载的zip文件包含以下两个文件夹和4个文件

/features
/plugins
artifacts.xml
content.xml
index.html
site.xml
Run Code Online (Sandbox Code Playgroud)

我可以将两个文件夹(功能和插件)复制到$ ECLIPSE_HOME文件夹并忽略这些文件吗?我以前做过这个,但我不记得要复制单个文件了.可以忽略xml和html文件吗?

我必须手动安装它,因为服务器在代理后面,我不知道代理详细信息.

谢谢

java eclipse subclipse ide

6
推荐指数
1
解决办法
2万
查看次数

MySQL的Jboss数据源配置 - MysqlXADataSource元素

我一直在研究在Jboss 7中为MySQL配置数据源的几个例子.我在元素中看到的所有引用都是这样的:

<driver name="com.mysql" module="com.mysql">
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
Run Code Online (Sandbox Code Playgroud)

我知道它到底<driver-class>是什么,但究竟是<xa-datasource-class>什么目的呢?

当我在Tomcat上配置数据源之前我不需要为任何数据库指定xa-datasource.为什么它在这里有所不同?

谢谢

java mysql jboss jdbc

6
推荐指数
1
解决办法
7173
查看次数

Subversion - 是否可以禁用所有提交并使存储库只读?

我有一个subversion存储库,它是另一个远程存储库的镜像.我每周都使用svnsync镜像存储库.镜像存储库(本地副本)仅用于备份.

我想将镜像存储库保持为READ-ONLY,即没有人应该能够对此存储库提交任何更改,但是它们可以使用它来读取源文件,因为它比远程存储库更快.

我浏览了一下Google,看起来Hook可能是最好的选择.唯一的问题是我在Google上看到的所有示例都是基于Unix的,我无法找到适合Windows的示例,因为镜像存储库在Windows Server上运行.

有任何想法吗?

svn build-process configuration-management

6
推荐指数
2
解决办法
9126
查看次数

为什么不能将JPA/hibernate映射到MySQL blob类型?

我收到以下错误

Caused by: org.hibernate.HibernateException: Wrong column type in TestTable for column PAYLOAD. Found: blob, expected: tinyblob
    at org.hibernate.mapping.Table.validateColumns(Table.java:284)
    at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1174)
    at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:139)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:387)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:883)
    ... 60 more
Run Code Online (Sandbox Code Playgroud)

hibernate列抱怨声明为

private byte[]  messagePayload;

@Column(name="PAYLOAD")
public byte[] getMessagePayload() {
        return messagePayload;
}

public void setMessagePayload(byte[] messagePayload) {
 this.messagePayload = messagePayload;
}
Run Code Online (Sandbox Code Playgroud)

MySQL表中的表被声明为BLOB类型.为什么Hibernate不希望映射到它,为什么它坚持使用TINYBLOB?

谢谢

java mysql hibernate jpa

6
推荐指数
1
解决办法
2万
查看次数

RestEasy - UnsupportedMediaTypeException:无法使用内容类型

我有一个Spring MVC REST服务,应该接收混合的mime内容.控制器定义为

    @POST
    @Path("/createMime")
    @Consumes("multipart/mixed")
    @ResponseStatus(HttpStatus.OK)
    public String createMime(@Context ServletContext servletContext, MultipartInput input) throws MyRestException {

        logger.info("Processing /createMime");

        return "TEST";
    }
Run Code Online (Sandbox Code Playgroud)

当我测试上面我得到以下错误:

17:18:58,456 WARN  [org.jboss.resteasy.core.SynchronousDispatcher] (http--127.0.0.1-8080-1) Failed executing POST services/createMime: org.jboss.resteasy.spi.UnsupportedMediaTypeException: Cannot consume content type
        at org.jboss.resteasy.core.registry.Segment.match(Segment.java:112) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.SimpleSegment.matchSimple(SimpleSegment.java:33) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.RootSegment.matchChildren(RootSegment.java:327) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.SimpleSegment.matchSimple(SimpleSegment.java:44) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.RootSegment.matchChildren(RootSegment.java:327) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.RootSegment.matchRoot(RootSegment.java:374) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.registry.RootSegment.matchRoot(RootSegment.java:367) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:251) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:173) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:118) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.2.1.GA.jar:]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.2.1.GA.jar:]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) …
Run Code Online (Sandbox Code Playgroud)

java rest spring multipart resteasy

6
推荐指数
1
解决办法
1万
查看次数

如何配置Jboss 7(v7.1.0)作为Windows服务运行

我需要将Jboss 7.1.0作为Windows服务运行.我已经看到谷歌的一些指示,但大多数似乎是早期版本的Jboss.

大多数示例似乎都指向本地库的位置 - http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10

什么是本机库,它的作用是什么?我尝试下载本机库并查看用于设置服务的批处理文件.它指的是v7.1.0中不存在的启动脚本.

是否有任何针对v7.1.0或7.0.2的说明,因为它们几乎相同?

windows jboss windows-services jboss7.x

6
推荐指数
0
解决办法
2584
查看次数

Spring/Hibernate适用于需要异构数据库连接的用例吗?

我有一个Oracle数据库,每周运行一次PL/SQl作业,使用Oracle数据库链接将数据从Oracle数据库中的表复制到另一个Oracle数据库.两个系统都在Unix/Solaris上运行.该作业通过Unix Cron工具进行安排和执行.

现在,远程计算机正从UNIX迁移到具有MSQL Server数据库的Windows平台.我一直在研究使用Oracle数据库链接从UNIX连接到将在Windows平台上运行的MSSQL Server数据库的可能性.这是有可能的,但它看起来像是有很多摆弄让它工作,并没有很多关于如何实现它的信息.

我想到的另一个解决方案是将进程实现为每周运行的Java守护程序进程.它所做的只是从一些表连接到Oracle数据库读取数据,连接到MSSQL Server数据库并运行一些插入命令.我想我需要两种驱动程序 - 即jdbc for Oracle和jdbc for MSSQL Server.

Spring是否提供任何可以使上述内容更容易实现和维护的工具?(具体是多个驱动程序和要求的调度部分)

Hibernate是否适合管理多个数据库连接或者是否过度杀伤?

随意也建议一个更好的解决方案:)

谢谢

java sql-server oracle spring hibernate

5
推荐指数
1
解决办法
467
查看次数