我创建了一个使用cuba平台的前端模块和一个帐户实体,然而,当页面加载时,表中没有显示任何名称或照片。如果您查看网络,就会发现get查询只返回实体名称、空实例名称和id。如何解决这个问题?我没有java或后端的经验。
package com.company.exercise.entity;
import com.haulmont.chile.core.annotations.NamePattern;
import com.haulmont.cuba.core.entity.StandardEntity;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Table(name = "EXERCISE_CONTACTS")
@Entity(name = "exercise_Contacts")
@NamePattern("%s|value")
public class Contacts extends StandardEntity {
private static final long serialVersionUID = 5180754450963558385L;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "ACCOUNT_ID")
@NotNull
private Account account;
@Column(name = "CONTACT_TYPE", nullable = false)
@NotNull
private String contactType;
@Column(name = "VALUE_", nullable = false)
@NotNull
private String value;
public void setContactType(ContactType contactType) {
this.contactType = contactType == null ? null : contactType.getId();
}
public ContactType getContactType() {
return contactType == null ? null : ContactType.fromId(contactType);
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
}发布于 2021-09-28 07:11:21
此用户很可能没有所分配实体的属性权限。默认情况下,所有属性都是不可访问的,应该通过运行时或设计时角色显式地允许这些属性,即使已经允许对此实体执行“读取”操作。
设计时角色的示例代码:
@EntityAttributeAccess(entityClass = Contacts.class, modify = "*")
@Override
public EntityAttributePermissionsContainer entityAttributePermissions() {
return super.entityAttributePermissions();
}此外,分配给用户的角色应该具有" REST“作用域,以便REST API客户端将其考虑在内。
https://stackoverflow.com/questions/69349006
复制相似问题