hibernate插入数据没有反应

我是菜鸟我怕谁 2011-03-23 05:15:16
郁闷的我头疼,我实在搞不明白为什么了,我手动给good设置值之后,调用DAO层的create方法,插入数据库,控制台不提示错误,也显示了执行的SQL语句,可是数据库中没有数据!我手动往数据库中添加数据库,然后调用find方法,查到,而且一个一个的输出每个属性,也有值,可是为什么插入数据就不行呢?还有更新!我又建了一个TYPE类,可以插入!高手请指点一下小弟!感激不尽
@Entity
@Table(name = "tb_good")
public class Good {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

@ManyToOne(cascade = { CascadeType.PERSIST }, fetch = FetchType.EAGER)
@JoinColumn(name = "type_id")

private GoodType goodType;
private String name;
private String code;
private Integer num;
private String XingHao;
private Double price;
private String picUrl;

@Column(columnDefinition = "text")
private String describe;
private Integer isNew;

@Temporal(value = TemporalType.DATE)
private Date addNew;
(省略get,set方法)
}



public void create(T object) {

Session session = HibernateSessionFactory.getSessionFactory()
.openSession();

try {
session.beginTransaction();

session.persist(object);

session.getTransaction().commit();

} catch (Exception e) {
session.getTransaction().rollback();
} finally {
session.close();
}
}
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyewudao 的回复:]
SQL 语句有问题 name='é?????é?¨' 这儿有问题吧 ? 没太用这种方式 不知道是不是这的问题 不是批量增加 怎么没用SAVE方式的?
[/Quote]
那个乱码我也不太懂,不过问题我解决了,我不知道到底是不是这个原因,反正我把描述这个变量的名字给改过之后,竟然就可以!而改过去之后又不可以!
恩,我改一下方法,改成批量添加好了!谢谢,分全给你了
yiyewudao 2011-03-23
  • 打赏
  • 举报
回复
SQL 语句有问题 name='é?????é?¨' 这儿有问题吧 ? 没太用这种方式 不知道是不是这的问题 不是批量增加 怎么没用SAVE方式的?
  • 打赏
  • 举报
回复
如让想起来为什么不提示错误了,我没有在catch块中加输出,汗,加了之后又这个错误,
org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at com.eryu.hibernate.dao.BaseDAO.update(BaseDAO.java:52)
at com.eryu.temp.TableTest.main(TableTest.java:22)
Caused by: java.sql.BatchUpdateException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe='miaosu', type_id=1, isNew=1, name='é?????é?¨', num=1, picUrl='tupian',' at line 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1213)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:912)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 9 more

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧