Java Hibernate@OrderBy Anotation和MySQLSyntaxerRoreException
我尝试实现Java Hibernate@OrderBy Anotation和MySQLSyntaxerRoreException,java,hibernate,jpa,Java,Hibernate,Jpa,我尝试实现@OrderByhibernate注释,但在“order子句”中得到错误未知列“matches0.start” ... @Entity @Table(name ="algo") public class Algo{ ... @JsonView(Views.Internal.class) @ManyToMany(fetch = FetchType.LAZY ) @OrderBy(clause = "start") // want order list by start
@OrderBy
hibernate注释,但在“order子句”中得到错误未知列“matches0.start”
...
@Entity
@Table(name ="algo")
public class Algo{
...
@JsonView(Views.Internal.class)
@ManyToMany(fetch = FetchType.LAZY )
@OrderBy(clause = "start") // want order list by start
protected List<DbMatch> matches = new ArrayList<DbMatch>();
...
匹配类别和开始
字段:
...
@Entity
@Table(name="matches")
public class DbMatch extends Match{
...
...
@MappedSuperclass
public class Match {
@Column(columnDefinition="DATETIME")
@JsonSerialize(using=JsonDateSerializer.class)
@JsonView(Views.Public.class)
private Date start;
...
看起来您使用的是
org.hibernate.annotations.OrderBy
,它需要一个SQL子句
您应该改用javax.persistence.OrderBy
,它需要一个属性名:
@Entity
@Table(name ="algo")
public class Algo{
...
@ManyToMany(fetch = FetchType.LAZY )
@OrderBy("start")
protected List<DbMatch> matches = new ArrayList<DbMatch>();
@实体
@表(name=“algo”)
公共类算法{
...
@ManyToMany(fetch=FetchType.LAZY)
@订购人(“开始”)
受保护列表匹配项=新建ArrayList();
您能否在数据库中显示您的匹配项
表?尝试使用@OrderBy(“start ASC”)
而不是@OrderBy(子句=“start”)
。