Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java EE 综合讨论区 » Hibernate  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 hibernate的问题,帮忙!
umbrella





发贴: 20
积分: 0
于 2004-08-21 10:35 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
错误信息:

22:48:33,476 ERROR BasicPropertyAccessor:60 - IllegalArgumentException in class: hibernate.Message, setter method of property: id

22:48:33,486 ERROR BasicPropertyAccessor:64 - expected type: int, actual value: java.lang.String

net.sf.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of hibernate.Message.id

  at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:68)

  at net.sf.hibernate.persister.AbstractEntityPersister.setIdentifier(AbstractEntityPersister.java:330)

  at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:826)

  at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:761)

  at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:720)

  at hibernate.Hello.main(Hello.java:44)

Caused by: java.lang.IllegalArgumentException: argument type mismatch

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

  at java.lang.reflect.Method.invoke(Method.java:324)

  at net.sf.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:38)

  ... 5 more

Exception in thread "main"

谁有好的hibernate的文章或者简单的例子。

Message类:

package hibernate;

import java.io.Serializable;

/**
* @author getdown
* @version 1.0
*/

public class Message implements Serializable {
private int id;
private String text;
//定义一个简单链表 指向另外的一个Message
public Message() {}

public Message(int id) {
this.id = id;
}

public Message(String text) {
this.text = text;
}

public Message(int id, String text) {
this.id = id;
this.text = text;
}

public int getId() {
return id;
}

private void setId(int id) {
this.id = id;
}

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

}

Hello类:

package hibernate;

import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.tool.hbm2ddl.SchemaExport;
import net.sf.hibernate.Session;
import net.sf.hibernate.Query;
import net.sf.hibernate.Hibernate;
import net.sf.hibernate.type.LongType;
import net.sf.hibernate.Transaction;

/**
* @author getdown
* @version 1.0
*/

public class Hello {
public Hello() {
}

public static void main(String[] args) throws Exception {
Configuration cfg = new Configuration().addClass(Message.class);

/** 顾名思义 构建表。。。第一次运行的时候运行下面语句可以在数据库生成表
* 之后可以把下面这句去掉
* */
// new SchemaExport(cfg).cr eate(true, true);

//先生成sessionFactory

SessionFactory sessions = cfg.buildSessionFactory();
//再从sessionFactory得到一个session
Session session = sessions.openSession();
//启动事务
Transaction tx = session.beginTransaction();

//开始对数据库的操作
/*----对数据库的创建操作--------*/
Message message = new Message("helloWorld");
//创建一条记录

session.save(message);
//存入记录
session.flush();
//提交事务
tx.commit();

/*---对数据库的查询操作---------------*/
// Message message = new Message();
// Query q = session.createQuery("from Message as message where message.id=1");
// message = (Message) q.list().get(0);
// message.getNextMessage().setText("helloNext");
// session.flush();
// session.close();
// Long id = new Long(1);
// Message message = (Message) session.find("from Message as message where message.id=?", id, Hibernate.LONG).get(0);
// System.out.println(message.getText());

// /*-------事务的处理----------------*/
// try {
// Message message = new Message("hello");
// session.save(message);
// session.flush();
// message = new Message("hello");
// session.save(message);
// session.flush();
// tx.commit();
// }
// catch (HibernateException ex) {
// tx.rollback();
// }

/*-------添加1000条记录时间--------------*/
// long start = System.currentTimeMillis();
// for(int i = 0; i < 1000; i ++) {
// Message message = new Message("hello");
// session.save(message);
// session.flush();
// }
// tx.commit();
// long end = System.currentTimeMillis();
// System.out.println("添加1000条记录时间---" + (end-start)/1000 + "s");

session.close();

}

}

xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>

<class
name="hibernate.Message"
table="Messages"
>

<id name="id"
column="MESSAGE_ID" >
<generator class="uuid.hex"/>
</id>

<property
name="text"
type="string">

<column
name="TEXT"
length="100"
not-null="true"
/>
</property>

</class>
</hibernate-mapping>




话题树型展开
人气 标题 作者 字数 发贴时间
10558 hibernate的问题,帮忙! umbrella 5250 2004-08-21 10:35
8980 Re:hibernate的问题,帮忙! wenic705 95 2004-08-23 08:45
8934 Re:hibernate的问题,帮忙! niyboy 393 2004-08-23 10:31
8774 Re:hibernate的问题,帮忙! zhangweiqian627 576 2004-08-24 15:15
9095 Re:hibernate的问题,帮忙! zhangweiqian627 58 2004-08-24 15:16

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923