@Id field not included within view

When creating an entity with CUBA Studio v6.3.1 where that entity extended from BaseStringIdEntity, does not allow to select the main field or ID in the view, it is necessary to modify the view manually to include it. Previously this did not happen.
Is this new behavior normal? Even knowing that if I define my main field as non-autonomic, it is for the end user to enter the value.

@Table(name = "IIS_PROJECT")
@Entity(name = "iis$Project")
public class Project extends BaseStringIdEntity implements Updatable, Creatable {
    private static final long serialVersionUID = -8380459019459276171L;

    @Column(name = "NAME", nullable = false, length = 120)
    private String name;

    @Column(name = "INACTIVE", nullable = false)
    private Boolean inactive = false;

    @Column(name = "PROJID", nullable = false, length = 10)
    private String projId;

    @Column(name = "UPDATE_TS")
    protected Date updateTs;

    @Column(name = "UPDATED_BY", length = 50)
    protected String updatedBy;

    @Column(name = "CREATE_TS")
    protected Date createTs;

    @Column(name = "CREATED_BY", length = 50)
    protected String createdBy;

    getter & setter




The @ID attribute of the StringID entity is always included to all the views.

However Studio does not generate column and field for it on the standard screens, you can add them manually (see the attached screenshot).

Studio behaves in that way not only with StringID-entities but also with composite key entities (where the ID type = Embedded). Embedded composite key fields are not displayed in view editor and are not put onto standard screens by default, but they are accessible with the “id.{attributeID}”.

Of course, such behavior is not useful. So we have created a YouTrack issue, see the link on the right.

Thank you for reporting the problem.


Regarding mandatory fields: the setting is not taken into account during the views creation. But it affects GUI.

Attributes are automatically selected in the following case.
For example, the attribute is added to the instance name (@NamePattern). When you create a new view and select Extends = _minimal the attribute becomes selected and disabled, so you can not exclude it.

:ticket: See the following issue in our bug tracker: