问题列表 - 第26664页

如何映射属性仅用于HQL(在Hibernate中)?

我有一张这样的桌子:

id | name | score
Run Code Online (Sandbox Code Playgroud)

使用Hibernate通过XML映射到POJO.分数列我只需要oder byHQL中的in 子句.score列的值由算法计算,并通过SQL批处理(JDBC)每24小时更新一次.所以我不想用我在运行时不需要的属性来污染我的POJO.

对于可能不是问题的单个列,但我有几个不同的分数列.有没有办法只为HQL使用映射属性?

例如这样:

<property name="score" type="double" ignore="true"/>
Run Code Online (Sandbox Code Playgroud)

所以我仍然可以这样做:

from Pojo p order by p.score
Run Code Online (Sandbox Code Playgroud)

但我的POJO实现可能如下所示:

public class Pojo
{
  private long id;

  private String name;

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

没有为score实现添加提供或属性的Setter .

使用最新的Hibernate版本的Java.

更新:

在完美的世界中,它可以这样做(感谢Pascal Thivent):

<property name="score" access="noop" insert="false" update="false"/>
Run Code Online (Sandbox Code Playgroud)

但在我们的现实世界中存在一个多年来似乎没有人关心的错误.那么有没有人有解决方法的建议?

java orm hibernate

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

当我在Java中创建一个新的String时,它是用null还是用""初始化的?

这是我的测试代码:

String foo = new String();
System.out.println(foo);
Run Code Online (Sandbox Code Playgroud)

输出为空白并写入新行.由于我是Java的新手,我不知道它是否是一个""字符串,或者空值是作为空行处理的.

java string initialization

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

GWT 2.0与Spring Security 3.0的集成

几天后我使用了GWT 2.0.因此,我尝试使用登录表单编写基本应用程序,并且只有在我登录时才可访问页面.

通常在我的带有jsf的Web应用程序中,我使用Spring Security 3.0来配置和保护这种应用程序.所以,我决定尝试用我的GWT 2.0应用程序做同样的事情.

我已经很好地配置了Spring Security的服务器部分.因此,从我的GWT登录页面,我可以输入我的登录名/密码,并通过Spring Security执行身份验证.重定向到安全页面已完成,我可以通过对使用Spring Security的SecurityContext的安全服务的rpc调用来获取连接的用户.所以,我觉得那部分还可以.

但是,我有一个很大的问题来保护网址.实际上,我想保护页面以限制对特定角色的访问,就像我通常使用Spring Security一样.

在我的GWT应用程序中,我使用MVP模式和中央应用程序控制器.所以,我只有一个页面,对于那个页面,我将在将#name_of_view添加到URL的末尾时区分视图.例如,要在开发模式下访问我的登录页面,我在浏览器上使用以下URL:

http:// 127.0.0.1:8888/fr.myapp.Application/Application.html?gwt.codesvr=127.0.0.1:9997#login

一旦我正确登录,我将转到以下视图:

http:// 127.0.0.1:8888/fr.myapp.Application/Application.html?gwt.codesvr=127.0.0.1:9997#pagesecured

因此,我不知道如何在Spring Security中配置http标记以及如何定义拦截URL以影响它们以限制访问的特定角色.此外,我认为在开发模式和经典生产模式之间使用这些URL会有问题.不是吗?

那么,有人会有任何想法帮助我使用这些URL配置和保护我的应用程序吗?或者使用其他技术通过表单登录来保护应用程序?

谢谢你的帮助.

西尔万.

gwt spring-security

10
推荐指数
2
解决办法
7344
查看次数

java中的getClass方法

Object类中的getClass方法如何能够动态返回Class?

java

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

编写此代码的最佳方法是在Groovy中使用字符串映射转换

我有一个字符串

def data = "session=234567893egshdjchasd&userId=12345673456&timeOut=1800000"
Run Code Online (Sandbox Code Playgroud)

我想将它转换为地图

 ["session", 234567893egshdjchasd]
 ["userId", 12345673456]
 ["timeout", 1800000]
Run Code Online (Sandbox Code Playgroud)

这是我现在这样做的方式,

 def map = [:]

 data.splitEachLine("&"){

   it.each{ x ->

     def object = x.split("=")
     map.put(object[0], object[1])

   }

 }
Run Code Online (Sandbox Code Playgroud)

它有效,但是有更有效的方法吗?

string groovy map

14
推荐指数
3
解决办法
2万
查看次数

将参数传递给线程

我想传递一个函数,该函数将参数传递给C#中的ThreadStart构造函数.但是,似乎这是不可能的,因为我得到一个语法错误,我尝试做这样的事情

Thread t1 = new Thread(new ThreadStart(func1(obj1));
Run Code Online (Sandbox Code Playgroud)

其中obj1是类型的对象List<string>(比如说).

如果我想要一个线程来执行这个接受一个对象作为参数的函数,并且我打算用不同的参数值同时创建2个这样的线程,那么实现这个的最佳方法是什么?

c# multithreading

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

在PHP中是否有一个配置选项来防止未定义的常量被解释为字符串?

这是来自php手册:http://us.php.net/manual/en/language.constants.syntax.php

如果使用未定义的常量,PHP假定您指的是常量本身的名称,就像您将其称为字符串一样(CONSTANT vs"CONSTANT").发生这种情况时,将发出级别E_NOTICE的错误.

我真的不喜欢这种行为.如果我没有定义一个必需的常量,我宁愿脚本失败,所以我被迫定义它.如果它尝试使用未定义的常量,有没有办法强制PHP崩溃脚本?

例如.这两个脚本都做同样的事情.

<?php
define('DEBUG',1);
if (DEBUG) echo('Yo!');
?>
Run Code Online (Sandbox Code Playgroud)

<?php
if(DEBUG) echo('Yo!');
?>
Run Code Online (Sandbox Code Playgroud)

我宁愿第二个脚本DIE并声明它尝试使用未定义的常量DEBUG.

php config constants undefined

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

错误标头:将缓存标头放入htaccess文件后的ap_headers_output_filter()

接收错误:[debug] mod_headers.c(663):headers:ap_headers_output_filter()

在我将其包含在htaccess文件中之后:

# 6 DAYS
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=518400, public"
</FilesMatch>

# 2 DAYS
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>

# 2 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

对于我能做些什么来解决这个问题,我们对此表示赞赏?

php linux apache .htaccess

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

在 findbugs 中为 &lt;static initializer&gt; 添加专属过滤器

我希望我的 findbugs 报告不显示以下错误:

DM_NUMBER_CTOR:方法调用低效的 Number 构造函数;使用静态 valueOf 代替

问题是这发生在 groovy 生成的代码文件中,所以我无法控制源代码 - 这就是为什么我想排除它并将其添加到我的排除过滤器中。

我不想显式添加类(因为我制作了许多工具都会使用的 API,所以我希望我的过滤器是通用的)。我不想按类型从报告中完全删除这个错误,我真的只想排除这个错误,如果它发生在“静态初始化程序”方法中。任何的想法?我尝试了下面的过滤器,但没有运气,也许有人有更好的主意?

<Match>
    <Method name="~.*static initializer.*" />
    <Bug pattern="DM_NUMBER_CTOR" />
</Match>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这是 FindBugs 的“堆栈跟踪”:

在类 net.milanaleksic.cuc.tools.sound.SoundPlayerTool 在方法 net.milanaleksic.cuc.tools.sound.SoundPlayerTool.() 中调用方法 new Long(long) 应该调用 Long.valueOf(long) 而不是在 SoundPlayerTool.groovy

java groovy findbugs

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

在控制台上打印TCHAR []

我很确定这是一个愚蠢的问题,但它让我疯狂..

我怎么能在控制台上打印一个TCHAR阵列?

DWORD error = WSAGetLastError();
TCHAR errmsg[512];
int ret = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0, error, 0, errmsg, 511, NULL);
Run Code Online (Sandbox Code Playgroud)

我需要打印errmsg ...

c++ visual-c++

7
推荐指数
3
解决办法
2万
查看次数