2007年12月29日
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
首先看看这个类:
package org.hibernate;
3
4 import java.io.Serializable ;
5
6 import org.hibernate.pretty.MessageHelper;
7
8
17 public class NonUniqueObjectException
extends HibernateException {
18 private final Serializable identifier;
19 private final String entityName;
20
21 public NonUniqueObjectException(
String message,
Serializable id,
String clazz) {
22 super(message);
23 this.entityName = clazz;
24 this.identifier = id;
25 }
26
27 public NonUniqueObjectException(
Serializable id,
String clazz) {
28 this(
"a different object with the same identifier value was already associated with the session", id, clazz);
29 }
30
31 public Serializable getIdentifier() {
32 return identifier;
33 }
34
35 public String getMessage() {
36 return super.getMessage() +
": " +
37 MessageHelper.infoString(entityName, identifier);
38 }
39
40 public String getEntityName() {
41 return entityName;
42 }
43
44 }
解决方案:
this..getSession().clear();
Error Creating SessionFactory java.lang.SecurityException: class"org.apache.commons.collections.SequencedHashMap"'异常的解决方案
本人用 MyEclipse 6.0.0 开发 Struts + Hibernate应用的时候,单独测试Hibernate的类没有问题,但是当Web层和Struts整合后,就抛出如下异常:
%%%%Error Creating SessionFactory %%%%
java.lang.SecurityException:
class"org.apache.commons.collections.SequencedHashMap"'s signer
informationdoes not match signer information of other classes in the
same package
原因是myeclipse 6.0的jar包问题。这个是myeclipse没有做好严格的测试。
网上好多人说是commons-collectionsXXX.jar的问题。我也不知道。我是把所有的myeclipse生成的jar都remove buildpath 了。
我又自己添加的jar。就OK!!!!
sql server 2000 安装挂起问题:
解决方案:开始--->运行--->regedit--->HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
删除PendingFileRenameOperations
今天我给大家介绍一下JAVA 连接 MYSQL:
我都不教你怎么装MYSQL了,网上我看了很多要下载JDBC我也下载了,和配置了CLASSPATH 但是还是不能用。后来我发现不需要配置了。直接COPY
mysql-connector-java-5.0.7-bin.jar到
D:\Program Files\Java\jdk1.6.0_02\jre\lib\ext\
mysql-connector-java-5.0.7-bin.jar
所以,我希望连接的大家不要走弯路。
这是我写的程序:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/demo?user=root&password=billsxm" ;
// demo is datebase name
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement();
String sql="select * from my_table";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}