为了账号安全,请及时绑定邮箱和手机立即绑定
不知道其他人学的怎么样?反正我是觉得挺好的!!!!
这里给各位小伙伴提醒一下,还记得主键生成器吗,大家发现用@EmbeddedId时,同样是自己输入的主键数据,为什么没有报错呢,个人回顾了一下主键生成器发现,其strategy默认值好像就是assigned,所以不用大家手动指定,直接可以使用的
我回来鞭尸一下Metadata metadata=new MetadataSources(registry).buildMetadata();
SchemaExport export=new SchemaExport();
export.create(EnumSet.of(TargetType.DATABASE), metadata);
这几句话可以不用写的,这是命令行语句,数据表会在你程序运行时创建(即sessonfactory调用时创建),大家就不要太过于纠结了
我又来刺激老师了,很明显,主键设置成string类型,并且@GeneratedValue(strategy=GenerationType.AUTO)这么设置是可以生成表的,,不过会生成两张表,其中一张是序列的表,只是不能手动赋值罢了,还有就是string作为主键并不用@Column(length=8)设置长度,实测并没有限制长度,只是数据库开销大了点,也是可以实现建表的
不行,本王又来给评论了,坑爹呀,谁说MySQL不支持catalog的,坑呀,mysql5.7支持catalog但是是不支持schema的,我去,上面的评论都别看了,前面没有限定名称和什么指定数据库毛线关系都没有
再接上面,这里(@Table(name="st_student",schema="hibername",catalog="h"))为什么不是(hibernate,st_student)呢,查一下hibernate。.cfg.xml看看你是否指定了数据库,如果指定了schema="hibername"这行你怎么改都不会生效的(本人推测,如有不对,请私信更正,共同进步)
接上面,而且(数据库.表名)的形式,是根据catalog指定的,例如(@Table(name="st_student",schema="hibername",catalog="h")),在建表语句中会出现(h.st_student)并不是(hibernate,st_student).因为不支持catalog,下面会出现jdbc报错
mysql中catalog是无法使用的,但是呢,只设置schema的话,建表语句中并不会生成(数据库.表名)形式,只会直接生成表名,下面就是要注意的了,如果写了catalog的话(mysql不支持的),你会发现建表语句生成了(数据库.表名)的形式,不过下面就会报错了
大家按我写的新版本用的方法吧((hibernate5.5)把第一部分和第二部分链接起来就可以了),老师的方法已经无迹可寻了,
/*第二部分*/
Metadata metadata=new MetadataSources(registry).buildMetadata();
SchemaExport export=new SchemaExport();
export.create(EnumSet.of(TargetType.DATABASE), metadata);
/* 第一部分*/
configuration = new Configuration().configure();
registry=new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
sessionfactory = configuration.buildSessionFactory();
这课程该更新了,实在是太老了,很多方法连api都找不到了
老师,能把源码放出来吗?
懂了,懂了,懂了!
@GenerateValue,我设置成auto, 他新建立了一个链表结构的 table ...
马丹.. 这样注解确实简单多了- -.

不过手打.hbm.xml是基础, 学学也不坏..
课程须知
学习本门课程前,需要具备以下技能: 1、精通Java语法和面向对象思想。 2、掌握JDBC数据库开发流程 3、熟悉SQL语句
老师告诉你能学到什么?
1、掌握类级别注解、属性基本注解和关联映射注解 2、能够灵活应用Hibernate注解进行开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消