hibernate学习小记
来源:互联网 发布:淘宝定制品可以退货吗 编辑:程序博客网 时间:2024/05/28 18:43
ava.lang.ClassCastException: org.hibernate.hql.internal.ast.tree.SqlNode cannot be cast to org.hibernate.hql.internal.ast.tree.PathNode
这个问题是 order是sql关键字 hql语句忽略大写下 所以hql不能分辨是sql的关键字还你的表,所以要添加绝对路径导入表名。
Hibernate注解——属性级别注解,@Id I
Ps1:对于复合主键,实体类必须实现serializable接口(声明式接口,不需要实现任何方法)。
Ps2:将 String类型 的属性设置成主键是一定要指定该属性的长度,可以用 Column length 注解来指定,不然 MySQL 会默认让其长度为255,而 MySQL 主键的长度不允许太长。(即使,Ps1成功实现,但是如果Ps2不通过,即使Junit变为绿条,表也可能创建不成功)。
备注:有些版本String类型的主键不限制长度也能生成表结构。
Hibernate注解——属性级别注解,@GeneratedValue III
Ps1:对于 MySQL 来讲,@GeneratedValue == @GeneratedValue(strategy=GenerationType.AUTO)。
Ps2:主键是字符串,主键生成策略就为手工赋值,不能用JPA提供的主键生成策略,要用Hibernate提供的主键生成器,其中GenericGenerator(name)与generaotr中的值对应,assigned就是手工赋值。否则使用AUTO的话即使长度也规定了,运行也通过了,但是还是生成不了表。
PS3:使用string类型作为主键,不用generatedvalue的默认值,需要给它生成一个generator,指定手工生成策略。而且需要给它的主键设定大小,255已超过最大的长度。
@Id @Column(length=8) @GeneratedValue(generator="sid") @GenericGenerator(name="sid",strategy="assigned") //GenericGenerator(name)与generaotr中的值对应,assigned表示手工赋值 //private int id; private String id;
0 0
- Hibernate学习小记
- Hibernate学习小记
- hibernate学习小记
- hibernate小记
- hibernate 小记
- hibernate小记
- hibernate 小记
- Hibernate小记
- 学习小记
- 学习小记
- 学习小记
- 学习小记
- hibernate+spring myeclipse小记
- Hibernate 与 JPA 小记
- hibernate @mappedBy小记
- Hibernate使用小记
- 【小记】深度学习学习
- Maven学习小记
- 利用HTML和CSS实现常见的布局
- 成为java高手的八大条件
- 增加pdo_mysql单独安装
- 【BSOI 3770】 【模拟试题】翻山越岭
- 关于哈希表的一点理解
- hibernate学习小记
- 【51NOD 1616】【51NOD 算法马拉松19】最小集合
- 开发自定义tag标签
- mysql创建删除查看各种索引
- imwrite 保存浮点数图像
- bzoj 1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 (dp)
- text的翻译传输问题
- vs error C4996 : -D_SCL_SECURE_NO_WARNINGS
- Android通知栏Notification的实现