Исключение сопоставления: невозможно найти столбец с логическим именем - PullRequest
0 голосов
/ 25 октября 2019

У меня проблемы с моей программой гибернации. Я удалил и переписал класс и до сих пор выдает ту же ошибку. Я не объявил cod_modulo в этой таблице, и даже если я удаляю параметр «один ко многим», все равно выдает ту же ошибку. Я ничего не понимаю.

Здесь упоминаются классы. Он также имеет геттеры и сеттеры для всех элементов и пустой открытый конструктор.

Класс по модулю


@Entity
@Table(name="modulo")

public class Modulo implements Serializable {

  private static final long serialVersionUID = 1L;

  @Id
  @SequenceGenerator(name = "SEQ_MODULO", sequenceName = "SEQ_MODULO", initialValue = 1, allocationSize = 1)
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_MODULO")
  private int cod_modulo;

  @Column(name = "ancho_modulo")
  private Double ancho_modulo;

  @Column(name = "largo_modulo")
  private Double largo_modulo;

  @Column(name = "alto_modulo")
  private Double alto_modulo;

  @Column(name = "orden")
  private Integer orden;

  @ManyToOne(cascade = CascadeType.DETACH, targetEntity = Lineal.class, fetch = FetchType.EAGER)
  @JoinColumn(name = "cod_lineal", referencedColumnName = "cod_lineal")
  private Lineal lineal;

  //@OrderBy
  @JsonProperty(access = Access.WRITE_ONLY)
  @OneToMany(mappedBy = "modulo", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
  private Set<Balda> baldas;


Линейный класс

@Entity
@Table(name="lineal")

public class Lineal implements Serializable{


      /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Id
      @SequenceGenerator(name = "SEQ_LINEAL", sequenceName = "SEQ_LINEAL", initialValue = 1, allocationSize = 1)
      @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_LINEAL")
      private int cod_lineal;

      @ManyToOne(cascade = CascadeType.DETACH, targetEntity = Seccion.class, fetch = FetchType.EAGER)
      @JoinColumn(name = "cod_seccion", referencedColumnName = "cod_seccion")
      private Seccion seccion;

      @JsonProperty(access = Access.WRITE_ONLY)
      @OneToMany(mappedBy = "lineal", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
      private Set<Modulo> modulos;

      @Column(name = "refrigerado")
      private Boolean refrigerado;

      @Column(name = "horizontal")
      private Boolean horizontal;

      @Column(name = "pos_x")
      private Double pos_x;

      @Column(name = "pos_y")
      private Double pos_y;

Ошибка:

Исключение сопоставления: невозможно найти столбец с логическим именем: cod_modulo в org.hibernate.mapping.Table (lineal) и связанных с ним надставных и вторичных таблицах

1 Ответ

0 голосов
/ 27 октября 2019

Попробуйте добавить @Column для вашего свойства cod_modulo следующим образом:

  @Id
  @SequenceGenerator(name = "SEQ_MODULO", sequenceName = "SEQ_MODULO", initialValue = 1, allocationSize = 1)
  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_MODULO")
  @Column(name = "cod_modulo")
  private int cod_modulo;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...