繁体   English   中英

com.microsoft.sqlserver.jdbc.SQLServerException:无效的列名称“ xxx”

[英]com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'xxx'

实体类别1

       @Entity
       @Table(name = "TICKETS")
       public class Ticket {

       ....

      @Column(name = "MERCHANT_NBR")
      private String merchant_nbr;

      @ManyToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "merchant_nbr", nullable = false)
      private Merchant merchant;

     @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name ="merchantNBR", nullable = false)
     private merchantDetails merchantDetails;

实体类别2

  @Entity
  @Table(name="MERCHANT_DETAILS")
  public class merchantDetails {

    @Id
    @Column(name="MERCHANT_NBR")
    private String merchantNBR;

    @OneToMany(fetch = FetchType.LAZY)
    private Set<Ticket> ticket;

错误给出...无效的列'merchantNBR'。但是我有一个相同名称的列。

   com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'merchantNBR'.

所以这是一个连接列而不是一个列,为此您必须使用正确的注释来连接两个实体,即@JoinColumn这可能会有所帮助

@joinColumn(name = "MERCHANT_NBR" ,referencedColumnName="merchantNBR")
      private String merchant_nbr;

在这里,我认为您已经更改了entitie class 2中的列名

@Column(name="MERCHANT_NBR") to `@Column(name="merchantNBR")`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM