问题列表 - 第24564页

覆盖NHibernate中的删除行为

在我的应用程序中,用户无法真正删除记录.而是将记录的Deleted字段设置为1,从而将其隐藏在选择中.

我需要保持这种行为,我正在研究NHibernate是否适合我的应用程序.我可以覆盖NHibnernate的删除行为,以便不发出DELETE语句,而是发出UPDATES,如上所述?

我显然还需要覆盖其SELECT行为以包含' AND Deleted = 0'子句.或者从视图中读取.我不确定.

sql nhibernate overriding

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

如何防止在没有主键时使用SqlBulkCopy插入重复记录

我收到一个包含数千条记录的每日XML文件,每条记录都是我需要存储在内部数据库中用于报告和计费的业务事务.我的印象是每天的文件只包含唯一的记录,但发现我对unique的定义与提供者的定义并不完全相同.

导入此数据的当前应用程序是C#.Net 3.5控制台应用程序,它使用SqlBulkCopy进入MS SQL Server 2008数据库表,其中列与XML记录的结构完全匹配.每个记录只有100多个字段,并且数据中没有自然键,或者更确切地说,我可以想出的字段,因为复合键最终也必须允许空值.目前该表有几个索引,但没有主键.

基本上整行必须是唯一的.如果一个字段不同,则它足以插入.我查看了创建整行的MD5哈希,将其插入数据库并使用约束来阻止SqlBulkCopy插入行,但我不知道如何将MD5哈希进入BulkCopy操作而我不是确定整个操作是否会失败并在任何一个记录失败时回滚,或者它是否会继续.

该文件包含大量记录,在XML中逐行进行,查询数据库以查找与所有字段匹配的记录,然后决定插入实际上是我能够看到能够执行此操作的唯一方法.我只是希望不必完全重写应用程序,并且批量复制操作要快得多.

有没有人知道一种方法来使用SqlBulkCopy,同时防止重复行,没有主键?或者有任何建议以不同的方式做到这一点?

c# sql sql-server sqlbulkcopy sql-server-2008

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

为什么当php忙时echo不显示任何内容

当PHP忙于某些事情时(例如用curl或类似的东西上网时),PHP Echo或Print函数不会显示任何内容.

后来我发现php在命令行执行你的php时会显示输出:

php myscript.php
Run Code Online (Sandbox Code Playgroud)

但是现在我也没有从命令行获得任何输出!有什么样的技巧或设置应该让PHP显示输出?

php

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

Hibernate一对一:getId()而不提取整个对象

我想在不加载整个对象的情况下获取一对一关系的id.我以为我可以使用延迟加载执行此操作,如下所示:

class Foo { 
    @OneToOne(fetch = FetchType.LAZY, optional = false)
    private Bar bar; 
}


Foo f = session.get(Foo.class, fooId);  // Hibernate fetches Foo 

f.getBar();  // Hibernate fetches full Bar object

f.getBar().getId();  // No further fetch, returns id
Run Code Online (Sandbox Code Playgroud)

我希望f.getBar()不会触发另一个提取.我希望hibernate给我一个代理对象,允许我调用.getId()而不实际获取Bar对象.

我究竟做错了什么?

java hibernate jpa

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

由于堆损坏,任何提示,C++/msvc6应用程序崩溃?

关于申请

  • 它在Windows XP Professional SP2上运行.
  • 它是使用带有Service Pack 6的Microsoft Visual C++ 6.0构建的.
  • 它是基于MFC的.
  • 它使用几个外部dll(例如Xerces,ZLib或ACE).
  • 它具有很高的性能要求.
  • 它做了很多网络和硬盘I/O,但它也是CPU密集型的.
  • 它有一个异常处理机制,在发生未处理的异常时生成一个小型转储.
  • 更新:它是一个高度多线程的应用程序,我们使用互斥锁来保护并发访问(当然,我们可能在某些地方失败了......)

关于崩溃的事实

  • 它只发生在多处理器/多核机器上以及繁重的工作中.
  • 它经过几个小时的运行后随机发生(我们和我们的客户都没有找到模式).
  • 我们无法在我们的测试实验室重现崩溃.它只发生在一些生产系统上(但总是在多核机器上)
  • 虽然完整的堆栈并不总是相同的,但它总是在同一点崩溃.让我添加崩溃线程的堆栈(使用WinDbg获取,抱歉我们没有符号)
Exception code: c0000005 ACCESS_VIOLATION
Address        : 006a85b9
Access Type    : write
Access Address : 2e020fff
Fault address:  006a85b9 01:002a75b9 C:\MyDir\MyApplication.exe

ChildEBP RetAddr  Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
030af6c8 7c9206eb 77bfc3c9 01a80000 00224bc3 MyApplication+0x2a85b9
030af960 7c91e9c0 7c92901b 00000ab4 00000000 ntdll!RtlAllocateHeap+0xeac (FPO: [Non-Fpo])
030af98c 7c9205c8 00000001 00000000 …

windows crash windbg visual-c++ heap-corruption

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

在Perl中导出变量是一种好习惯吗?

我发现传递配置和其他一次读取或计算的数据非常方便,但是在整个程序中使用Perl的use机制会多次使用.我是通过将哈希导出到调用者的命名空间来实现的.例如:

package Myconfiguration;

my %config;

sub import {
    my $callpkg = caller(0);
    my $expsym = $_[1];

    configure() unless %config;

    *{"$callpkg\::$expsym"} = \%config;
}
Run Code Online (Sandbox Code Playgroud)

然后在其他模块中:

use MyConfiguration (loc_config_sym);

if ( $loc_config_sym{paramater} ) {
    # ... do stuff ...
}
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这是最佳做法.添加一个返回带有数据的散列引用的方法是否更好?别的什么?

variables perl export

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

C#巨大的2-Dim数组

我需要在C#WinForms中声明方形矩阵,连续超过20000个项目.我读到了32位的2GB .Net对象大小限制以及64位操作系统中的相同情况.所以我理解单一答案 - 使用不安全的代码或使用C++编译器构建的独立库.

对我来说问题是值得的,因为ushort [20000,20000]小于2GB但实际上我甚至无法分配700MB的内存.我的限制是650MB,我不明白为什么 - 我有32位WinXP和3GB内存.我尝试使用Marshal.AllocHGlobal(700 << 20)但它抛出OutOfMemoryException,GC.GetTotalMemory在尝试分配内存之前返回4.5MB.

我发现只有很多人说使用不安全的代码,但我找不到如何在堆中声明2-dim数组的示例(任何堆栈都不能保存如此大量的数据)以及如何使用指针处理它.它是不安全的{}括号内的纯C++代码吗?

PS.请不要问为什么我需要如此庞大的数组...但如果你想 - 我需要分析文本(例如书籍)并找到很多索引.所以答案是 - 词之间关系的矩阵

编辑:有人可以提供一个使用不安全代码中的指针处理矩阵的小例子.我知道在32位以下不可能分配更多的空间,但我花了很多时间在谷歌搜索这样的例子,发现没什么

c# pointers unsafe multidimensional-array

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

间隔树算法,支持合并没有重叠的间隔

我正在寻找一种类似于CLR中的红黑区间树的区间树算法,但它默认支持合并区间,因此从不存在任何重叠区间.

换句话说,如果您有一个包含两个区间[2,3]和[5,6]的树,并且您添加了区间[4,4],则结果将是仅包含一个区间[2,6]的树.

谢谢

更新:我正在考虑的用例是计算传递闭包.间隔集用于存储后继集,因为它们被发现非常紧凑.但是,如果你将区间集表示为链表,我发现在某些情况下它们会变得非常大,因此找到插入点所需的时间也是如此.因此我对间隔树感兴趣.还有很多将一棵树与另一棵树合并(即一组OR操作) - 如果两棵树都很大,那么使用两棵树的顺序走路而不是每个间隔的重复插入来创建新树可能更好.

algorithm interval-tree red-black-tree intervals

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

php数组next()和prev()

我有一个看起来像这样的数组,

    Array
(
    [0] => 849710414
    [1] => 849710726
    [2] => 849710744
    [3] => 849712728
    [4] => 849713005
    [5] => 849713439
    [6] => 849714856
    [7] => 849714924
    [8] => 849716371
    [9] => 849716441
    [10] => 849717118
    [11] => 849719043
    [12] => 849719187
    [13] => 849722865
    [14] => 849723412
    [15] => 849723777
    [16] => 849725052
    [17] => 849726294
    [18] => 849726457
    [19] => 849726902
    [20] => 849728239
    [21] => 849728372
    [22] => 849728449
    [23] => 849730353
    [24] => 849733625
)
Run Code Online (Sandbox Code Playgroud)

这些是我需要添加到URL以在网站中导航的ID,ID是从用户的搜索返回的结果,然后用户点击搜索结果并且可以选择转到下一个搜索结果看看前一个,现在我虽然通过这样做可以做到这一点 …

php arrays codeigniter

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

如何为postgreSQL中的现有表生成"create table"sql语句

我有一个在postgreSQL中创建的表.我想看看用于创建表的sql语句,但无法弄明白.

如何通过命令行或sql语句获取postgresql中现有表的'create table'sql语句?

postgresql

224
推荐指数
12
解决办法
16万
查看次数