Hibernate 保存对象出现 org.hibernate.NonUniqueObjectException 及解决

Hibernate save 在 session 中已存在相同 OID(主键) 的对象,会出现异常,详细内容如下:

Exception in thread "main" org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.unmi.LoanDetail#1]
 at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:168)
 at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
 at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
 at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
 at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient 阅读全文 >>

概念图和思维导图二者概念区分的学习[转]

概念图和思维导图是在欧美国家比较盛行的一种教学形式,也是一种有效的知识表示工具。二者在学习和工作中应用会提高效率。目前在我国还处于研究阶段,对二者的概念界定还在进行中;对于一线教育工作者,他们更关心的是如何更有效的运用二者实施教学。
概念图(Concept Map)是康乃尔大学的诺瓦克(J.D.Novak)博士根据奥苏贝尔(David P.Ausubel)的有意义学习理论提出的一种教学技术。他认为,“概念图是用来组织和表征知识的工具。它通常将某一主题的有关概念置于圆圈或方框之中,然后用连线将相关的概念和命题连接,连线上标明两个概念之间的意义关系。” 阅读全文 >>

概念图与思维导图的比较研究[转]

摘要:

通过对概念图和思维导图的比较,分析它们的内涵,比较它们的共同点和差异,从而更好地理解概念图和思维导图各自的特点和用途。


关键词:

概念图;思维导图;知识可视化      


概念图和思维导图是孪生兄弟,被介绍到到国内后,已有了一定规模的应用与研究。笔者在

2006
93日通过 Google 的学术搜索引擎查了一下标题中含有“概念图”一词的文章有 220篇,标题中含有“思维导图”一词的文章有 35 篇,大部分文章是关于在教育教学中的应用与实践。这说明概念图在教育教学中应用已较多,已初具规模,而思维导图在教育教学中的应用的研究还不够。本文试图通过对概念图和思维导图的比较,分析它们之间的共同点、差异、应用范围,以便使它们在教育教学中更好地应用。

阅读全文 >>

Windows下安装使用openldap

openldap 比起其他商业目录服务器(比如 IBM Directory Server),特别的轻巧,十分适合于本地开发测试用,在产品环境中的表现也很优秀。

openldap 软件在它的官方网站 http://www.openldap.org, 不过下载过来是源代码,并没有包含 win32 下的 Makefile 文件,只提供了在 Unix/Linux 下编译用的 Makefile。所以相应的在网上介绍在 windows 下安装使用 openldap 的资料比较少,而在 Unix/Linux 下应用文档却很丰富。

本文实践了在 Windows 下安装配 openldap,并添加一个条目,LdapBrowser 浏览,及 Java 程序连接 openldap 的全过程。 阅读全文 >>

如何让学来的技术不至于忘记的太快

写这个的初衷也就是因为,有些技术我总是在一次次重复的去经历从入门到半精通的过程,颇感苦恼--白费了许多时间与精力。

工作或项目中学来的需反复使用的技术,掌握的会比较牢固,即使隔上一两年脱手再使用,也能迅速回过神来。因为它们常常是有明确目的性去研究掌握的,并且工作中也不时的会用到,许多还是让你非常有成就感的东西。

然而对于某个项目偶尔用过又抛弃,或者是自己一时兴起学来的一些技术,即便当时真正是理解了它,如果隔好一阵子对它不闻不问了,再次捡起,也会像未曾谋面一般,不得不又从头开始一点一滴的去熟悉,实是浪费时间。 阅读全文 >>

Linux/Unix下读取lib目录下所有包生成classpath的Shell

做了一个 Java 程序放在 Solaris 下运行,用到许多的第三方包,有 *.zip 的和 *.ja r的,放在 lib 目录下,然后写了一个 shell 脚本来运行那个 java 程序,那就要在 classpath 中包含所有在 lib 中的第三方包。

原来的做法是在 classpath中把lib目录中一个个的包文件名用冒号连缀起来,比如
classpath=.:lib/a.jar:lib/b.jar:lib/c.jar:lib/d.zip
java -classpath $classpath com.unmi.Main 阅读全文 >>

调用Windows外壳程序格式化磁盘

看资料介绍说 Windows 2000 以上的 SDK 提供了格式化逻辑驱动器的函数 SHFormatDrive, 这是一个外壳函数(Windows界面操作环境称之为外壳),从 shell32.dll 库导出,调用后会弹出一个格式化对话框,只有用户单击"开始"按钮后格式化才开始,使用时应包含头文件 shlobj.h 

我都照做了,下载安装了 Windows XP SP2 的 SDK, 并配置在了 VC 的 include和lib目录中了,也把新SDK的目录调到了最上面,程序中也包含了 shlobj.h, 而且看到新的 SDK 的 shlobj.h 中确实有 SHFormatDrive 函数原型,可是当我使用 SHFormatDrive 函数编译时总提示我找不到这个符号。不知道发生什么问题了,留待以后有需求时再解决吧,反正就是预编译宏展开时,不是去 include 新的 SDK 的 shlobj.h 文件,include 的是 VC98 中的 shlobj.h 文件。 阅读全文 >>

VC常用代码[转]

VC代码收集
一、改变视图背景色:
在CView的OnDraw函数中添写如下一段程序代码:
void CFileNameView::OnDraw(CDC* pDC)
{
    CFileNameDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    CRect rectClient;
    CBrush brushBkColor;
    GetClientRect(rectClient);
    brushBkColor.createSolidBrush(RGB(255,0,0)); //颜色设置 阅读全文 >>