User.hbm.xml 文件有没有放在 userInfo 目录下?
解决方案 »
- 面试题请教
- 在win2003下apache2.24+tomcat5.5整合
- servlet里得不到session
- 怎样写java程序打war包
- 高分求JSP繁体中文显示的解决方案,一定要在big5的编码下才可以,急用,谢谢各位高手了,不够再加分
- 请问如果在JSP里面自动生成HTML不需要人工的点,完全自动的!给个思路.....
- 请教网上发布问题,在线等待急急
- 关于resin在win2000下自动启动问题。请高手赐教赐教。
- 做jsp要不要用到Servlet?
- swfupload怎样上传10G以上的文件
- struts连接mysql得不到DataSource,得到的值为null.
- struts/jbuilderX中css引用问题
at org.hibernate.cfg.Configuration.addClass(Configuration.java:466)
at userInfo.TestUser.insertUser(TestUser.java:66)
at userInfo.TestUser.main(TestUser.java:150)
Caused by: org.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:403)
at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
... 2 more
Caused by: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java:353)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
... 3 more
这是全部的出错信息
hibernate.dialect net.sf.hibernate.dialect.SybaseDialect
hibernate.connection.driver_class=org.gjt.mm.mysql.Driver
hibernate.connection.url=jdbc:mysql://127.0.0.1/zhangbo
hibernate.connection.username=root
hibernate.connection.password=hibernate.show_sql false
hibernate.jdbc.batch_size 0
hibernate.jdbc.batch_size 25
hibernate.cglib.use_reflection_optimizer false
这个resource指定的目录是相对于classes的,所以User.hbm.xml应该放在classes/userInfo/下面。
请问CAYU: 我的映射文件和BEAN里哪快不对啊?
<mapping resource="userInfo/User.hbm.xml"/>改为<mapping resource="userInfo/Userinfo.hbm.xml"/>
疑惑? 我的BEAN的名字是叫User啊?
怎么再这改成了包的名字?
insert begin
11:44:42,109 ERROR Configuration:402 - Could not configure datastore from input stream
org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java:353)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
at userInfo.TestUser.insertUser(TestUser.java:70)
at userInfo.TestUser.main(TestUser.java:155)
Nested exception:
java.net.UnknownHostException: hibernate.sourceforge.net
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:365)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:477)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:214)
at sun.net.www.http.HttpClient.New(HttpClient.java:287)
at sun.net.www.http.HttpClient.New(HttpClient.java:299)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:784)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:736)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:661)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:905)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.dom4j.io.SAXReader.read(SAXReader.java:334)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
at userInfo.TestUser.insertUser(TestUser.java:70)
at userInfo.TestUser.main(TestUser.java:155)
org.hibernate.MappingException: Error reading resource: userInfo/Usersinfo.hbm.xml
at org.hibernate.cfg.Configuration.addClass(Configuration.java:466)
at userInfo.TestUser.insertUser(TestUser.java:70)
at userInfo.TestUser.main(TestUser.java:155)
Caused by: org.hibernate.MappingException: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:403)
at org.hibernate.cfg.Configuration.addClass(Configuration.java:463)
... 2 more
Caused by: org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
at org.dom4j.io.SAXReader.read(SAXReader.java:353)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:393)
... 3 more
BEAN的名字是CAT-》表的名字CAT-》映射文件的名字CAT
BEAN:
public class Cat implements Serializable{
/**
* @return Returns the name.
*/
public Cat(){}
public Cat(String sex){
this.sex=sex;
}
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the sex.
*/
public String getSex() {
return sex;
}
/**
* @param sex The sex to set.
*/
public void setSex(String sex) {
this.sex = sex;
}
private String name;
private String sex;}
映射文件:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="Test.Cat" table="CAT"> <id name="name" type="java.lang.String" unsaved-value="null" >
<column name="name" sql-type="varchar(30)" not-null="true" />
<generator class="Assigned"/>
</id>
<property name="sex" type="java.lang.String">
<column name="sex" sql-type="char(2)" />
</property></class>
</hibernate-mapping>
测试程序:
package Test;
import java.util.Iterator;
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;public class TestCat {
static Configuration cfg=null;
static SessionFactory sessionsFactory=null;
static Session session =null;
static Transaction tx=null;
//插入
public static void insertCat(Cat cat) {
try {
System.out.println("insert begin");
cfg = new Configuration().addClass(Cat.class);
sessionsFactory = cfg.buildSessionFactory();
session = sessionsFactory.openSession();
Cat cat_obj=cat;
tx = session.beginTransaction();
session.save(cat_obj);
tx.commit();
session.close();
System.out.println("insert succeed");
}catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception{
//插入
Cat cat=new Cat();
cat.setName("tom");
cat.setSex("公");
TestCat.insertCat(cat);
}
}
使用的eclipse.exe开发工具编译后CLASS文件都在bin目录里 这没关系吧?
cfg = new Configuration().addClass(Cat.class);
总是抱错?
还有个问题就是 我添加数据的时候只能添加一次(表里无数据) 在添加就会抱错:
net.sf.hibernate.JDBCException: Could not execute JDBC batch update
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:129)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2385)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2335)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2204)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at Test.TestCat.insertCat(TestCat.java:39)
at Test.TestCat.main(TestCat.java:157)
Caused by: java.sql.BatchUpdateException: Duplicate entry '402880' for key 1
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1566)
at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:122)
... 6 more配置文件里的主键的信息
<id name="name" type="java.lang.String" unsaved-value="null" >
<column name="name" sql-type="varchar(30)" not-null="true" />
<generator class="uuid.hex"/>
</id>
我想让程序自己产生主键 把<generator class="uuid.hex"/>改成<generator class="Assigned"/>
运行时也抱错 异常:
net.sf.hibernate.MappingException: could not instantiate id generator
at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)
at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:80)
at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:631)
at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:715)
at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:41)
at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:137)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:750)
at Test.TestCat.insertCat(TestCat.java:33)
at Test.TestCat.main(TestCat.java:157)
Caused by: java.lang.ClassNotFoundException: Assigned
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:86)
at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:76)
... 8 more
请问怎么办啊 急啊!!!!!!!!!
<column name="name" sql-type="varchar(30)" not-null="true" />
<generator class="uuid.hex"/>
</id> uuid.hex-->生成32位但是你却sql-type="varchar(30)"--->30位能对吗?
http://community.csdn.net/Expert/topic/3877/3877782.xml?temp=.524151
程序产生主键:Cat cat=new Cat();
//cat.setName("tom");
cat.setSex("z");
TestCat.insertCat(cat);
运行就出错了
net.sf.hibernate.MappingException: could not instantiate id generator
at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:82)
at net.sf.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:80)
at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:631)
at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:715)
at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:41)
at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:137)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:750)
at Test.TestCat.insertCat(TestCat.java:33)
at Test.TestCat.main(TestCat.java:157)
Caused by: java.lang.ClassNotFoundException: Assigned
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at net.sf.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:86)
at net.sf.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:76)
... 8 more
那这是什么原因呢?
最后一个问题了 麻烦了!
<param name="sequence">PD_APPFNC_SEQ</param>
</generator>
<param name="sequence">对应的是什么啊?
PD_APPFNC_SEQ对应的又是什么啊?
<id
name="id"
column="id"
type="long"
unsaved-value="-1"
>
<generator class="native">
</generator>
</id>我也是菜鸟,给你做参考