我有以下课程
@Entity
@Table(name="prm_user_permission")
public class UserPermission {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="prm_permission_id")
private Integer permissionId;
@Column(name="prm_permission_name")
private String permissionName;
@Column(name="prm_short_description")
private String shortDescription;
@Column(name="prm_description")
private String description;
@Column(name="prm_url")
private String permissionUrl;
@Column(name="prm_control")
private String control;
@Column(name="prm_create_user")
private Integer creatUser;
@Column(name="prm_parent_id")
private Integer parentId;
@Column(name="prm_system_id")
private Integer systemId;
// Getter and Setter
我的代码是
public List<UserPermission> findAllBySystemId(int systemId) {
List<UserPermission> userPermission = criteria().setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.add(eq("UserPermission.systemId", systemId).list();
return userPermission;
}
现在我想通过&#34; systemId&#34;从这个(UserPermission)表中获取所有数据。如果我通过systemId = 1,那么它应该给出列为&#39; 1&#39;的所有数据。 。 我的代码有什么问题?运行时显示错误,如
org.hibernate.QueryException: could not resolve property: UserPermission of:
com.kgfsl.collections.core.security.models.UserPermission
Plz任何人的帮助
答案 0 :(得分:0)
criteria()
方法返回什么?
并直接尝试systemId
(例如:删除UserPermission.
)
答案 1 :(得分:0)
尝试使用Restrictions.eq()
public List<UserPermission> findAllBySystemId(int systemId) {
List<UserPermission> userPermission = criteria().setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.add(Restrictions.eq("systemId", systemId)).list();
return userPermission;
}
假设您的criteria()
方法是,
session.createCriteria(UserPermission.class)