当一些实体类的属性使用到了数据库的关键字时,部分的表将无法创建
@Entity
@Table(name="t_party")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="type",discriminatorType=DiscriminatorType.CHAR)
@DiscriminatorValue(value="X")
public class Party {
@Id
@GeneratedValue
private Integer id;
@Column(length=30)
private String name;
@Column(length=100)
private String desc;
@ManyToOne
@JoinColumn(name="p_id")
private Party parent;
@OneToMany(mappedBy="parent",fetch=FetchType.LAZY,cascade=CascadeType.REMOVE)
private Set<Party> children = new HashSet<Party>();
}
将类中的desc属性改为其他名称即可。