解决:DuplicateMappingException: Table [xx] contains physical column name referred to by multiple ... .

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

报错如题:

Caused by: org.hibernate.DuplicateMappingException: Table [xxx] contains physical column name [comment] referred to by multiple physical column names: [comment], [auditComment]at org.hibernate.boot.internal.InFlightMetadataCollectorImpl$TableColumnNameBinding.bindPhysicalToLogical(InFlightMetadataCollectorImpl.java:922)at org.hibernate.boot.internal.InFlightMetadataCollectorImpl$TableColumnNameBinding.addBinding(InFlightMetadataCollectorImpl.java:891)at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.addColumnNameBinding(InFlightMetadataCollectorImpl.java:961)at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.addColumnNameBinding(InFlightMetadataCollectorImpl.java:942)at ... ...

 

情况1. 项目用的 spring-data-jpa 。

原本对于表和本类的每个字段都有给注解 @Colum 来对应,其实不用给也可以。把这些注解注释掉工程就可以正常启动了。

如下:


import org.codehaus.jackson.annotate.JsonIgnore;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.map.annotate.JsonSerialize;import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;/*** 解冻申请*/
@Entity(name = "unfreeze")
@Table(name = "unfreeze_apply")
@JsonIgnoreProperties(ignoreUnknown = true)
public class UnfreezeApply implements Serializable {private static final long serialVersionUID = -1826761763082698565L;@Id@GeneratedValue(strategy = GenerationType.AUTO)private Integer id;//    @Column(name = "employee_no", nullable = false)private String employeeNo;@Transientprivate String employeeName; //员工名称@ManyToOne(fetch = FetchType.EAGER)@JsonIgnore
//    @JoinColumn(name="employee_no", referencedColumnName="usernumber", insertable=false, updatable=false)private User employee;//    @Column(name = "reason", nullable = false)private String reason;}

启动成功:

 

情况2. (网上的其它情况)

 

当有一个物理表映射两个或多个逻辑表名称时,会发生此异常。如 因为那里有多个@JoinColumns使用相同的列名(user_id)

为每个JoinColumns(在注释中的name参数中定义)设置一个不同的名称:

@OneToOne
@JoinColumn(name = "local_user_id")
public User getUser() {return user;
}@OneToOne
@JoinColumns({@JoinColumn(name = "userId", referencedColumnName = "userId"),@JoinColumn(name = "providerId", referencedColumnName = "providerId"),@JoinColumn(name = "providerUserId", referencedColumnName = "providerUserId")}
)
public UserConnection getUserConnection() {return userConnection;
}

 

参考:http://mussatto.github.io/java/hibernate/error/fix/mapping/2016/11/14/hibernate-error-multiple-physical-columns.html

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

路由进阶

1>路由组件传参 在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性。 解决方法: 1.1若是动态匹配页面,只需要在路由参数中加入props:true即可。 import Home from "/views/…

物联网摄像机通讯_网络调试助手

1,文档目的: 了解对于物联网网关与摄像机协议联动,进行报警抓图,智能检测,OSD叠加,语音播报控制等联动及数据交互。 适用产品:物联网网关 (OSD是屏幕显示技术的一种) 2…

TOJ 3046: 招商银行网络系统

3046: 招商银行网络系统 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 12 Accepted:3 Description 虽然招商银行的网络安全已经做得非常完善,但是天有不测风云,招商银行内部网络系统的一台服务器意外感…

vue打包成app后,背景图片不显示

问题: 在使用npm run build 打包后, 如果在页面中使用img标签引入,打包后的路径是由index.html开始访问的,真正访问的是Static/img/图片名, 是正确的, 但是写在css 中的background: url("../../assets…

Docker 环境下如何 安装 Zookeeper

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 第一步:首先下载Zookeeper的镜像文件: 从仓库中pull 这个zookeeper镜像:docker pull jplock/zookeep…

office教程:教你Excel 怎么样使用信息函数

Excel如何使用信息函数信息函数专门用来返回某些指定单元格或区域的信息,例如获取文件路径、单元格格式信息或操作环境信息等。一,使用CELL函数返回引用单元格信息工作表中的每一个单元格都有对应的单元格格式、位置和内容等信息,在Excel中可…

二叉查找树,红黑树

漫画算法:什么是红黑树?(适合初学红黑树小白简单易懂) 2018年09月14日 09:55:54 苏杭-Java工程师 阅读数:494———————————— 二叉查找树(BST)具备什么特性呢? 1.左子树上所…

【算法】快排

快速排序 其利用的思想就是分治思想,最开始先从数组中随机选择一个元素p(为什么随机下面解释),然后以这个元素对数组中的元素进行分类,数组左侧都是小于p的元素, 右侧都是大于等于p的元素。这样就让数组分成…

19_05_01校内训练[polygon]

题意 把一个边长为1的正n边形放到一个正m边形中,要求m边形完全覆盖n边形,可以有交点,并且中心重合。求正m边形的最小边长,至少精确到6位。要求logn计算。 思考 先考虑m|n的情况。 我们知道,正m边形的边长与可行区域&am…

[转]numpy中的np.max 与 np.maximum区别

转自:https://blog.csdn.net/lanchunhui/article/details/52700895 转载于:https://www.cnblogs.com/xianhan/p/10609319.html

win10 php7+apache2.4的配置以及遇到的问题及解决

首先进入PHP官网下载php7的版本,我下的是PHP7.1.28,在PHP的下载页面注意划红线和绿线的地方(我画的) 1.画了红线的意思是请使用由apache lounge提供的编译文件,也就是点进蓝色Apache lounge这里下载. 2.画了绿色的线的意思是用Apache的话你必须使用Thread Safe(线程安全)的PHP…

AI一周热闻:华为豪掷3.3亿剑桥买地,自建光芯片工厂;比特大陆IPO失败,组织架构调整...

导读 华为豪掷3.3亿剑桥买地,自建光芯片工厂苹果春季发布会无硬件发布,转型之心迫切比特大陆IPO失败,组织架构调整,王海超任CEO特斯拉起诉小鹏汽车员工窃取商业机密英伟达发布GauGAN,线条色块秒变逼真图像用机器学习防…

虚拟环境vitualenv的使用

Python3开发之虚拟环境virtualenv与virtualenvwrapper 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题; 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。 此时&am…

银行各类理财收益渐涨 各类宝钱景尚不明朗

这个春天,投资似乎进入了一个好事多磨的阶段。央行一反先前支持的态度,开始对互联网理财念起了“紧箍咒”。一时间,各种“宝”的命运变得扑朔迷离起来。尽管各种“宝”声明:不受央行政策影响。而投资者内心的担忧,恐怕…

PHP全栈学习笔记27

数组概述,类型,声明,遍历,输出,获取数组中最后一个元素,删除重复数组,获取数组中指定元素的键值,排序,将数组中的元素合成字符串。 数组概述,数组是存储&…

mac地址和ip地址的区别(转)

先纠正一下几个比较模糊的概念:“MAC地址表储存IP地址”, MAC地址表是二层设备中存储“MAC地址”和“转发端口”映射关系的表,并不直接存储IP地址。 “路由器根据MAC地址来选择路由进行数据发送”,对于三层设备的三层端口来说&…

Windows下多个JDK版本的切换方法

问题 因我之前在window中无法命令行输入,后来发现是电脑中存在多个JDK,导致设置混乱。于是,我继续深入研究了当电脑存在多个JDK的情况下,如何设置想要的JDK版本。步骤 1.更改环境变量 进入环境变量的配置界面,将JAVA_H…

哈哈哈,只有程序员才懂的黑色幽默 ... ...

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 也是机缘巧合,让我一个之前工作从未接触过程序员的人,现在成天和程序员打交道,要知道,不…

ONVIF Device Manager修改设备密码

这个onvif工具可以实时监控画面,使用起来简单方便 左侧一栏是设备信息,中间上半部分是设备配置设置,下半部分是图像预览配置设置。 修改密码可通过该工具,点击User management后选择用户类型并且修改密码。

mysql 数据库函数入门

转载于:https://www.cnblogs.com/hwgok/p/10816922.html