一.概述
1.1 场景:
在写Repository类的时候,写自定义的@Query语句的时候,报错如下:
org.hibernate.hql.internal.ast.QuerySyntaxException
1.2 备注:
-
select from后跟的不是表名,是Entity对象名。
-
如果为Entitiy对象设置了name为“NetPool”,则Entitty对象名就是name后的名字;
-
如果没有设置name,默认使用public class后的“NetPoolE”类名。
- where后的对象别名 . 属性名,这里的属性名不是@Cloumn(name="")的name的名字。而是当前Entity对象的property,也就是private Integer vlanNO中的vlanNO。
二.参考实体
@Entity(name = "NetPool")
public class NetPoolE {
/**
* 主键 网络池Id
* (底层cloudVM中网络池Id)
*/
@Id
@Column(name="netPoolId")
private String netPoolId;
/* @Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid")
@Column(name = "netPoolId")
private String netPoolId;*/
/**
* 网络名称
*/
@Column(name = "netName", length = 255)
private String netName;
/**
* vlan号
*/
@Column(name = "vlanNo")
private Integer vlanNO;
/**
* 网关
*/
@Column(name = "gateway", length = 255)
private String gateway;
/**
* 子网
*/
@Column(name = "subNet", length = 255)
private String subNet;
/**
* dns
*/
@Column(name = "dns", length = 255)
private String dns;
/**
* 同步时间
*/
private Date synDate;
/**
* 是否可用
*/
private Boolean isAvl;
/**
* 组织Id
*/
private String orgId;
/**
* 连接信息
*/
@Column(length = 500)
private String configId;
/***此处省略很多setget器*****/
}