Hibernate配置错误(javax.persistence.Cacheable)

本文介绍了解决Hibernate配置中出现的java.lang.ClassNotFoundException: javax.persistence.Cacheable错误的方法。该错误源于缺少JPA2.0的相关依赖,文中详细说明了如何通过添加hibernate-jpa-2.0-api-1.0.0.Final.jar来解决此问题。

 在配置Hibernate时,出现如下错误

 

Java代码
  1. Caused by: java.lang.ClassNotFoundException: javax.persistence.Cacheable  
Caused by: java.lang.ClassNotFoundException: javax.persistence.Cacheable

 错误在于javax.persistence.Cacheable是JPA2.0规范中的东西,需添加

hibernate-distribution-3.5.2-Final\lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar

其中 ProjectAuditItemType 继承如下AbstractTreeEntity类,请优化一下children的加载,避免数据库的服务器压力 import java.util.LinkedHashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.ConstraintMode; import javax.persistence.FetchType; import javax.persistence.ForeignKey; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.MappedSuperclass; import javax.persistence.OneToMany; import javax.persistence.OrderBy; @MappedSuperclass public abstract class AbstractTreeEntity<T extends AbstractTreeEntity> extends AbstractBaseEntity { @Column( name = "tree_path", nullable = false ) private String treePath = "n/a"; @Column( name = "tree_level", nullable = false ) private int treeLevel = 1; @Column( name = "show_order", nullable = false ) private Integer showOrder = 0; @ManyToOne( fetch = FetchType.LAZY ) @JoinColumn( name = "parent_id", foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT) ) private T parent; @Column( name = "parent_id", insertable = false, updatable = false ) private Long parentId; @OneToMany( mappedBy = "parent", cascade = {CascadeType.ALL}, fetch = FetchType.LAZY ) @OrderBy("showOrder asc") private Set<T> children = new LinkedHashSet(); public AbstractTreeEntity() { } public boolean equals(Object o) { return super.equals(o); } public int hashCode() { return super.hashCode(); } public String getTreePath() { return this.treePath; } public int getTreeLevel() { return this.treeLevel; } public Integer getShowOrder() { return this.showOrder; } public T getParent() { return this.parent; } public Long getParentId() { return this.parentId; } public Set<T> getChildren() { return this.children; } public void setTreePath(final String treePath) { this.treePath = treePath; } public void setTreeLevel(final int treeLevel) { this.treeLevel = treeLevel; } public void setShowOrder(final Integer showOrder) { this.showOrder = showOrder; } public void setParent(final T parent) { this.parent = parent; } public void setParentId(final Long parentId) { this.parentId = parentId; } public void setChildren(final Set<T> children) { this.children = children; } }
最新发布
11-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值