除了使用OpenSessionInView模式之外,还有其他方法可以避免Hibernate Web应用程序中的LazyInitializationExceptions吗?使用OpenSessionInView有任何缺点吗?
我目前正在与Haskell合作,并发现自己遇到了一些麻烦.我应该在"dictionary.txt"文件中读取并插入列表中的每一行,但我似乎无法这样做.我有这个代码:
main = do
let list = []
loadNums "dictionary.txt" list
loadNums location list = do
inh <- openFile location ReadMode
mainloop inh list
hClose inh
mainloop inh list = do
ineof <- hIsEOF inh
if ineof
then return ()
else do
inpStr <- hGetLine inh
inpStr:list
mainloop inh list
Run Code Online (Sandbox Code Playgroud)
它应该得到每一行(我知道它确实得到每一行,因为用"putStrLn inpStr"替换"inpStr:list"正常工作,显示所有行),并将其插入列表但我得到以下错误:
Couldn't match expected type `IO' against inferred type `[]'
Run Code Online (Sandbox Code Playgroud)
可能是因为hGetLine不是一个字符串,而是一个IO字符串,我不知道如何处理以获得一个正确的字符串,我可以在我的列表中插入.我不知道如何解决这个问题,或者问题究竟是什么,但如果有人知道如何正确地将文件中的每一行都放入列表中,我会很感激.
提前致谢!
在从事C++项目时,我一直在寻找第三方库,而不是我的核心业务.我发现了一个非常好的库,完全可以满足需要,但它是用Python编写的.我决定尝试使用Boost.Python库在C++中嵌入Python代码.
C++代码看起来像这样:
#include <string>
#include <iostream>
#include <boost/python.hpp>
using namespace boost::python;
int main(int, char **)
{
Py_Initialize();
try
{
object module((handle<>(borrowed(PyImport_AddModule("__main__")))));
object name_space = module.attr("__dict__");
object ignored = exec("from myModule import MyFunc\n"
"MyFunc(\"some_arg\")\n",
name_space);
std::string res = extract<std::string>(name_space["result"]);
}
catch (error_already_set)
{
PyErr_Print();
}
Py_Finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
(非常)简化版本的Python代码如下所示:
import thirdparty
def MyFunc(some_arg):
result = thirdparty.go()
print result
Run Code Online (Sandbox Code Playgroud)
现在的问题是:'MyFunc'执行正常,我可以看到'结果'的打印.我不能做的是从C++代码中读取'结果'.extract命令永远不会在任何命名空间中找到"结果".我尝试将'结果'定义为全局,我甚至尝试返回一个元组,但我无法让它工作.
任何人都有一个C#示例显示所有者绘制的tabcontrol具有热跟踪效果?
我使用C#和.NET 2.0实现了一个很好的所有者绘制的tabcontrol,但是在实现热跟踪效果时我很难过.
有任何想法吗?
我正在研究汽车经销商业务领域模型/ UML类图.
我是建模新手,所以我想知道如何验证类图.对我来说,使用适当的(如果不是100%正确的)类图来进行进一步的开发(用例等)非常重要.
是否有可能构建一个完全不正确的模型?或者只有合适且不太合适的型号?
如果我有一个与SalesTeam关联的客户为SalesTeam服务的客户建模,那是错误的吗?我在以下示例中看到Customer与Order,Order with ItemOrder和ItemOrder与ItemInventory相关联.SalesTeam或员工与订单相关联的位置.
如何验证我的模型和关系?
如果你有类似的东西:
val myStuff = Array(Person("joe",40), Person("mary", 35))
Run Code Online (Sandbox Code Playgroud)
如何使用该数据创建XML值作为节点?我知道如何在XML表达式中使用{braces}来放置值,但这是一组值.我需要明确迭代还是有更好的东西?
val myXml = <people>{ /* what here?! */ }</people>
Run Code Online (Sandbox Code Playgroud)
结果值应该是这样的:
<people><person><name>joe</name><age>40</age></person>
<person><name>mary</name><age>39</age></person></people>
Run Code Online (Sandbox Code Playgroud) 我是一个非常新手的OCaml程序员,所以如果这是一个愚蠢/明显的问题,请原谅我.有很多东西要吸收,我可能在文档中错过了这个.
我有一个代码基础,看起来像这样:
let update_x p x =
add_delta p;
p.x <- x;
refresh p
let update_y p y =
add_delta p;
p.y <- y;
refresh p
let update_z p z =
add_delta p;
p.z <- z;
refresh p
Run Code Online (Sandbox Code Playgroud)
复制被开始的错误我,因为我想要写的是这样的:
let update_scalar p scalar value =
add_delta p;
magic_reflection (p, scalar) <- value;
refresh p
Run Code Online (Sandbox Code Playgroud)
这样当我更新x时我可以简单地调用:
update_scalar p 'x' value
Run Code Online (Sandbox Code Playgroud)
这就是"宏!" 对我而言,我不相信OCaml有一个宏系统.我还可以做些什么?
我正在看它,似乎它从根本上被打破了.
那么有什么好处吗?我真的应该使用这个而不仅仅是字符串吗?
我一直在使用apache2中的mod_python,它似乎与python的工作方式不同 - 有一些不同的语法和你需要做的事情.它没有很好的文档记录,经过几天的使用后,我真的没有看到mod_python的重点,特别是当php这样的东西记录得很好并且可用时.
我可以看到Python如何很好地用于系统编程,但任何人都可以提供任何信息,为什么我不应该只为基于Web的应用程序转储python?
多年前,当我使用C#时,我可以轻松地创建一个临时文件并使用此函数获取其名称:
Path.GetTempFileName();
Run Code Online (Sandbox Code Playgroud)
此函数将在临时目录中创建具有唯一名称的文件,并返回该文件的完整路径.
在Cocoa API中,我能找到的最接近的是:
NSTemporaryDirectory
Run Code Online (Sandbox Code Playgroud)
我错过了一些明显的东西,还是没有内置的方法来做到这一点?
.net ×2
python ×2
apache ×1
boost-python ×1
c# ×1
c++ ×1
cocoa ×1
database ×1
file ×1
file-io ×1
haskell ×1
hibernate ×1
input ×1
io ×1
java ×1
macros ×1
mod-python ×1
objective-c ×1
ocaml ×1
oop ×1
ownerdrawn ×1
records ×1
scala ×1
tabcontrol ×1
uml ×1
validation ×1
xml ×1