博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中文命名之Hibernate 5演示 - 使用注解(annotation)而非xml定义映射
阅读量:1888 次
发布时间:2019-04-26

本文共 1400 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

前文最后留下了个Hibernate 5之后出现的问题, 于是在Hibernate社区提交了报告:

开发组(?Gail Badner)反应很快, 一同确认了当前稳定版5.4.2.Final和最新的6.0.0.Alpha2都有此问题, 并且基于官方测试用例. 初步诊断病因是这个(可以继续深究一下源头, 如果是从其他地方拷贝过来的话). 将此问题添加到了5.4版本的待修复问题列表, 并建议用注解(annotation)而不是xml配置. 经测试的确可通过注解支持与前文相同的中文命名.

完整源码在此分支:

带注解的Java源码:

@Entity@Table(name="客户")public class 客户类 implements java.io.Serializable {
private Long 客户_ID; private String 姓名; private Date 创建日期; public 客户类() {
} public 客户类(String 姓名, Date 创建日期) {
this.姓名 = 姓名; this.创建日期 = 创建日期; } @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "客户_ID", length=20) public Long get客户Id() {
return this.客户_ID; } public void set客户Id(Long 客户Id) {
this.客户_ID = 客户Id; } @Column(name = "姓名", nullable = false, length=45) public String get姓名() {
return this.姓名; } public void set姓名(String 姓名) {
this.姓名 = 姓名; } @Column(name = "创建日期", nullable = false, length=19) public Date get创建日期() {
return this.创建日期; } public void set创建日期(Date 创建日期) {
this.创建日期 = 创建日期; } @Override public String toString() {
return 客户_ID + " " + 姓名 + " " + 创建日期; }}

在Hibernate配置文件中指定类, 而非xml映射文件:

期间碰到一个问题:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘客户类0_.客户Id’ in ‘field list’

是由于id的默认数据库列名为Id, 而数据库中使用了客户_ID作为列名. 添加如下注解后解决:

@Column(name = "客户_ID", length=20)

参考

转载地址:http://xhgbf.baihongyu.com/

你可能感兴趣的文章
Python 生成器里面的 return 有什么用?
查看>>
百度不到的硬核资源,8h删,抓紧保存!
查看>>
上海有哪些牛逼的互联网公司?
查看>>
炸了!没有任何HTML/CSS ! 纯Python打造一个网站!
查看>>
四步,用python实现一辆自动驾驶的小车
查看>>
强烈推荐!8个让 pandas 更高效的 option 设置
查看>>
跟你说个笑话!我学了一年matlab,到现在还不会读论文~
查看>>
可能是全网最完整的 Python 操作 Excel库总结!
查看>>
办公室小姐姐的福利!用Python批量提取word文档中的表格和图片内容
查看>>
12门课100分,直博清华的学霸火了!“造假都不敢这么写”
查看>>
宅男福利!20行Python代码,一网打尽B站小姐姐的直播信号源!
查看>>
用数据告诉你高考最难的省份是哪里!
查看>>
618,搞事情!!!
查看>>
Linux 运维必会的150个常用命令,你都会用吗?
查看>>
Windows 11正式发布,所有用户均可免费升级,还支持安卓应用
查看>>
文科生也能学Python! 推荐一大波Python好书,送书10本!
查看>>
卧槽!只是pip安装输错字母,就中了挖矿病毒
查看>>
投资星球,2周246个主题,175位同学,都干了啥?
查看>>
几招冷门!但是很有用的Python招数!
查看>>
人人都能懂的 Python 自动发送邮件实战教程
查看>>