小编And*_*ois的帖子

JPQL:在更新中将列设置为空

以下 JPQL:

UPDATE SignIn signIn SET signIn.cookieUUID = null WHERE signIn.user.id = :userID
Run Code Online (Sandbox Code Playgroud)

由于“= null”,出现以下错误:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IS NULL WHERE `B0`.`ID` = 9' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
Run Code Online (Sandbox Code Playgroud)

但当我将该字段设置为空字符串 (= '') 时,它会起作用。

那么如何使用 JQPL 将列设置为 null 呢?

java jpa jpql datanucleus

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

在com.sun.codemodel中使用泛型

使用com.sun.codemodel,我想生成一个通用的LinkedList字段.我可以使用以下代码创建一个原始字段:

JDefinedClass masterClass;
String detailName;
JDefinedClass detailClass;
JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);
Run Code Online (Sandbox Code Playgroud)

但是我找不到用通用类型创建LinkedList的方法detailClass.

java code-generation sun-codemodel

3
推荐指数
1
解决办法
2710
查看次数

CORBA - JacORB:使用固定端口生成 IOR?

当我使用 ORB.object_to_string 方法时,如何确保 JacORB 使用固定端口(例如 6001)?

我在 JacORB 配置中尝试了一些操作,但每个生成的 IOR 都是随机端口。

java corba

3
推荐指数
1
解决办法
2873
查看次数

使用JNI在Java中调用C#代码的基础(工作)教程

正如标题所述,我正在寻找一个基本的(工作)Java代码教程,该教程使用JNI来调用用C#编写的"hello world"类应用程序.

我找到的"最好的"就是这个,但我无法按照教程开始工作+准备使用的项目不在Visual Studio 2008中构建.

我不得不说除了创建基本项目和编写C#代码之外,我没有.NET知识.一旦我有工作项目,我会做一些与我收到的DLL(和源代码)类似的东西.

感谢您的时间.

c# java java-native-interface

3
推荐指数
1
解决办法
8776
查看次数

更新具有重复值的行(在相同列中)

我想更新我的表,以便共享值(在相同列中)的行被标记为这样.

示例表定义:

CREATE TABLE `MyTable` (
  `id`  int NOT NULL ,
  `a`  varchar(10) NOT NULL ,
  `b`  varchar(10) NOT NULL , 
  `state`  tinyint NOT NULL , 
  PRIMARY KEY (`id`) 
) ;
Run Code Online (Sandbox Code Playgroud)

我想更新在同一列中共享值的每一行的"状态".因此,如果第一行具有"a = AAAA"而第二行具有相同的"a"值,则两者都应该更新.

我试过这个,但它太慢了(不比使用JDBC在Java中做得快):

declare mycursor cursor for select id, a, b from mytable;
open mycursor;
repeat
   fetch mycursor into idid, aa, bb;
   update mytable set state=1 where (a=aa, b=bb)
until done end repeat;
close mycursor;
Run Code Online (Sandbox Code Playgroud)

有什么想法让这种方式变得更好?多年来我没有做过任何体面的SQL.

mysql sql

3
推荐指数
1
解决办法
6790
查看次数

Netty:从管道外部向所有(TCP)客户端发送消息

我正在将我的"普通NIO"(=我直接使用JDK中的软件包)TCP服务器迁移到Netty 4.

我有线程向所有客户端发送消息,如健康检查数据包,聊天消息广播,直接聊天消息到单个客户端,...使用SocketChannels我保留在某处的集合.

我如何在Netty中做到这一点?简单地在一个Netty处理程序和需要发送消息的线程之间共享一个ChannelGroup是明智的吗?频道看起来像这样:

public class ChannelCollectorHandler extends ChannelInboundMessageHandlerAdapter<String> {

    private static final ChannelGroup channels = new DefaultChannelGroup();

    public SecureChatServerHandler(ChannelGroup channels) {
       this.channels = channels;
    }


    @Override
    public void channelActive(final ChannelHandlerContext ctx) throws Exception {
        channels.add(ctx.channel());
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

在我将简单地做的所有线程中:

channels.write(...);
Run Code Online (Sandbox Code Playgroud)

那会有用吗?

java netty

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

无法删除原始文件

我们使用批处理文件作为窗口服务运行jar并将xml文件放在c:/processed 目录中;

如果xml有一个错误的格式,然后将其移动到错误文件夹; 我们使用下面的方法将文件移动到错误文件夹,但得到以下异常.

我认为当进程运行时它无法将文件移动到错误文件夹.

FileUtils.moveToDirectory("a.xml", "c:/processed/error", false);
Run Code Online (Sandbox Code Playgroud)

movingErrorFolder中的异常:复制到'c:/processed/error/a.xml'后无法删除原始文件'c:/processed/a.xml'

java apache-commons-io

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