我有一个旧的Spring-MVC项目,开发于:Hibernate 4.3.8.FinalJPA version 1.7.2Java 7,以解决旧JS组件的问题,我需要在Spring-Boot项目中重新创建此项目(使用Spring5,,Java8Thymeleaf)。

我不能丢失旧的数据库,也不能丢失或更改数据库的结构,因此我正在重写Domain的类,但是注释存在错误。

这是域类的代码:

@OneToMany(mappedBy="order", cascade=CascadeType.REMOVE)
@JsonBackReference("job-order")
@Where(clause="year = '0'")
private List<Job> jobYearI = new ArrayList<>();

@OneToMany(mappedBy="order", cascade=CascadeType.REMOVE)
@JsonBackReference("job-order")
@Where(clause="year = '1'")
private List<Job> jobYearII = new ArrayList<>();

@OneToMany(mappedBy="order", cascade=CascadeType.REMOVE)
@JsonBackReference("job-order")
@Where(clause="year = '2'")
private List<Job> jobYearIII = new ArrayList<>();


我需要根据年份值填充jobYearX,但是在新项目中我遇到此错误:


  导入org.hibernate.annotations。无法解析的地方


有办法解决吗?
提前致谢

编辑

我的工作类别

@SuppressWarnings("serial")
@Entity
@Audited
@Table(uniqueConstraints=@UniqueConstraint(columnNames={"order_certification", "year"}))
public class Job extends AbstractDomain {


    @ManyToOne(optional=false)
    @JoinColumn(nullable=false, updatable=false)
    @JsonManagedReference("job-orderCertification")
    private OrderCertification orderCertification;


    @Enumerated(EnumType.ORDINAL)
    @Column(nullable=false, name="year", updatable=false)
    private Year year;

最佳答案

好吧,在我看来,您的新应用程序在运行时没有休眠核心依赖关系。 Where和Filter注释是特定于休眠的,并且仍然不建议使用。

关于java - @注解无法解析的地方,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52222723/

10-09 04:51