Hibernate @Table注解指向另一数据库同名表问题的解决

运行一个旧项目的时候,Tomcat启动时报错

org.hibernate.HibernateException: Missing column: user_id in ACSS.TS_USER

即数据库ACSS的表里TS_USER,没有user_id这个 字段,问题是我这个项目用的压根不是这个ACSS数据库啊

推测可能注解里没有指定对应数据库,导致Hibernate解析该表时找到了另一数据库的同名表

所以我就修改了@Table注解,添加了schema属性:

@Table(name="TS_USER",schema="CPM")

果然没报错,这次Hibernate就成功找对了数据库及表。

 

总结:使用@Table注解时,若同一实例下存在多个数据库,且可能存在相同表名时,需添加”schema“属性来声明数据库,是否Hibernate可能找到其它库的表去。

posted @ 2018-11-26 14:31  zhongzone  阅读(777)  评论(0编辑  收藏  举报