问题列表 - 第43444页

使用HQL语句按id列表删除多个记录

我想删除某个实体的多个记录,其中实体的id在我拥有的ID列表中.我正在尝试使用NHibernate在C#中执行此操作.

我所拥有的是一个ID列表.

我想做类似的事情:

var idList = new List<Guid>() { Guid.NewGuid(),Guid.NewGuid()};

_session.CreateQuery("DELETE FROM MapsItem o WHERE o.Id = IN :idList")
    .SetParameterList("idList", idList)
    .ExecuteUpdate();
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

Exception of type 'Antlr.Runtime.NoViableAltException' was thrown. near line 1, column 33 [DELETE FROM Album o WHERE o.Id = IN  :idList]
Run Code Online (Sandbox Code Playgroud)

该查询是一个HQL语句.

HQL查询有什么问题.

对上述问题提供的两个答案都给出了正确的解决方案.但是,当我执行HQL时,错误是这样的:

could not insert/select ids for bulk delete[SQL: insert into #MapsItem SELECT mapsitem0_.Id as Id FROM MapsItem mapsitem0_ inner join BaseEntity mapsitem0_1_ on mapsitem0_.Id=mapsitem0_1_.Id WHERE Id in (? , ? , ? , ? , …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate hql sql-delete

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

定义宏扩展为文字#

可能重复:
c ++预处理器宏扩展到另一个预处理器指令

我的问题很简单:我想在宏扩展中使用"#",例如,定义一个marco'M(X)':

#define M(X) #ifdef FOO \ 
              X=1 \
             #else \ 
              X=2
Run Code Online (Sandbox Code Playgroud)

我尝试使用'\'来转义'#',但'\'被解释为宏扩展的换行符,而不是转义字符.那么如何在宏扩展中使用'#'?

谢谢大家!

c c++

0
推荐指数
2
解决办法
625
查看次数

我应该关闭来自数据源的连接吗?

当我执行dataSource.getConnection()时,当我希望连接返回池(而不是关闭)时,调用close方法是否返回到池的连接或实际关闭它?

java connection-pooling jdbc

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

如何在Java中实现链接列表?

我试图在Java中实现一个简单的HashTable,它使用链接列表进行冲突解决,这在C中很容易做到,但我不知道如何用Java做,因为你不能使用指针.. .

首先,我知道这些结构已经用Java实现了,我不打算使用它,只是在这里训练......

所以我创建了一个元素,它是一个字符串和指向下一个Element的指针:

public class Element{
        private String s;
        private Element next;

        public Element(String s){
            this.s = s;
            this.next = null;
        }

        public void setNext(Element e){
            this.next = e;
        }

        public String getString(){
            return this.s;
        }

        public Element getNext(){
            return this.next;
        }

        @Override
        public String toString() {
            return "[" + s + "] => ";
        }
    }
Run Code Online (Sandbox Code Playgroud)

当然,我的HashTable有一个Element数组来存储数据:

public class CustomHashTable {
    private Element[] data;
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

例如,我想实现一个方法,在链接列表的末尾添加一个元素(我知道在列表的开头插入元素会更简单,更有效,但同样,这仅用于培训目的).没有指针我该怎么做?

这是我的代码(如果e是一个指针,它可以工作......):

public void add(String s){
        int index = hash(s) % data.length;
        System.out.println("Adding …
Run Code Online (Sandbox Code Playgroud)

java pointers linked-list

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

正则表达式将强密码与两个或多个特殊字符匹配

我需要使用具有以下要求的javascript匹配密码字段的正则表达式:

  • 至少15个字符
  • 两个或多个小写字母
  • 两个或多个大写字母
  • 两位或更多位数
  • 两个或多个以下特殊字符:!@#$%^&* -

我有一个正则表达式来处理大多数情况:

/^.*(?=.{15,})(?=.{2,}\d)(?=.{2,}[a-z])(?=.{2,}[A-Z])(?=.{2,}[\!\@\#\$\%\^\&\*\-]).*$/
Run Code Online (Sandbox Code Playgroud)

这里的问题是符号,它适用于:

P@ssw0rdP@ssw0rd
Pssw0rdPssw0rd@@
Pssw0rd@@Pssw0rd
Run Code Online (Sandbox Code Playgroud)

但不是:

@@Pssw0rdPssw0rd
Run Code Online (Sandbox Code Playgroud)

我有一个随机密码生成器设置详尽测试这个,所以任何想法都非常感谢.谢谢!

javascript regex passwords

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

htaccess mod_rewrite:重定向所有子域,排除一些

有许多类似的问题,但我找不到这个具体问题的答案:

在我的.htaccess中,我重写了将所有子域名重定向到http://example.com:

RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

但我希望它忽略dev.example.com(也许还有其他一些子域名).我想这很容易,但我无法弄清楚.

.htaccess mod-rewrite

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

中断DatagramSocket.receive中的一个线程

我正在构建一个侦听TCP和UDP的应用程序,而且我的关机机制遇到了一些问题.当我调用Thread.interrupt()每个侦听线程时,TCP线程被中断而不是监听,而UDP侦听器则没有.具体来说,TCP线程使用ServerSocket.accept(),它只返回(没有实际连接).UDP线程使用DatagramSocket.receive(),但不退出该方法.

这是我的JRE,我的操作系统中的问题,还是应该切换到(Datagram)Socket.close()

更新:我发现了对问题的分析.它确认行为不一致.

java sockets multithreading

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

有条件地将任意数量的默认命名参数传递给函数

是否有可能有条件地将任意数量的命名默认参数传递给Python函数?

例如.有一个功能:

def func(arg, arg2='', arg3='def')
Run Code Online (Sandbox Code Playgroud)

现在的逻辑是我有一个条件来确定是否需要传递arg3,我可以这样做:

if condition == True:
    func('arg', arg2='arg2', arg3='some value')
else:
    func('arg', arg2='arg2')
Run Code Online (Sandbox Code Playgroud)

问题是,我可以用速记如下:

func('arg', 'arg2', 'some value' if condition == True else # nothing so default gets picked
)
Run Code Online (Sandbox Code Playgroud)

python function shorthand

11
推荐指数
3
解决办法
3528
查看次数

你如何使用c#4.0 app.config中的部分?

我想使用我的应用程序配置存储2个公司的设置,我更喜欢是否可以使用一个部分来分隔另一个的数据而不是给它们不同的密钥名称.

我一直在网上查看,但当人们使用部分或找到过时的简单方法来使用它时,我似乎有点不知所措.有人可以通过我的初学者指南吗?

下面是我的app.config的示例:

  <configSections>
    <section name="FBI" type="" />
    <section name="FSCS" type="" />
  </configSections>

  <FSCS>
    <add key="processingDirectory" value="C:\testfiles\ProccesFolder"/>
  </FSCS>
  <FBI>
    <add key="processingDirectory" value="C:\testfiles\ProccesFolder"/>
  </FBI>
Run Code Online (Sandbox Code Playgroud)

更新:

基于anwer的高级解决方案.如果有人想知道.

App.config中:

<configuration>
    <configSections>
        <sectionGroup name="FileCheckerConfigGroup">
          <section name="FBI" type="System.Configuration.NameValueSectionHandler" />
          <section name="FSCS" type="System.Configuration.NameValueSectionHandler" />
        </sectionGroup>
    </configSections>
    <FileCheckerConfigGroup>
        <FSCS>
            <add key="processingDirectory" value="C:\testfiles\ProccesFolder"/>
        </FSCS>
        <FBI>
            <add key="processingDirectory" value="C:\testfiles\ProccesFolder"/>
        </FBI>
    </FileCheckerConfigGroup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

码:

// Get the application configuration file. 
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

// Get the collection of the section groups. 
ConfigurationSectionGroupCollection sectionGroups = config.SectionGroups;

foreach (ConfigurationSectionGroup sectionGroup in …
Run Code Online (Sandbox Code Playgroud)

.net c# configuration app-config configurationsection

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

来自mysql结果的PHP if语句

我试图从mysql数据库中读取结果,确定结果是1还是0,然后将变量设置为green.png或red.png:

$result = mysql_query("select * from ping limit 1") or die(mysql_error());
               $row = mysql_fetch_array($result);

                                $beckton = $row['beckton'];
                                if ($beckton = '1'){
                                    $beckton_status = "<img src='images/green.png' width='75px' height='75px' />";
                                }
                                else if ($beckton = '0'){
                                    $beckton_status = "<img src='images/red.png' width='75px' height='75px' />";
                                }
Run Code Online (Sandbox Code Playgroud)

在我的表'ping'中有一个名为'beckton'的列,它将是1或0.但是当我加载页面时,所有图像都设置为green.png,当我可以在DB中清楚地看到一些是0的.

那我就是这样做的: echo "<td>Beckton</td><td>" . $beckton_status . "</td>";

php if-statement

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