繁体   English   中英

具有现有表 spring 数据的实体 jpa

[英]Entity with existing table spring data jpa

我有一个现有的 6 列表。 我可以使用自定义列创建实体(仅 2 个)吗? 我想以只读模式使用这个实体。

桌子:

create table ES_USER_GROUPS
(
  group_id NUMBER(9) not null,
  alias    VARCHAR2(200) not null,
  name_es  VARCHAR2(200 CHAR) not null,
  name_lat  VARCHAR2(200 CHAR),
  name_en  VARCHAR2(200 CHAR),
  state    VARCHAR2(1) not null
)

实体:

@Data
@Entity
@Table(name = "es_user_groups")
public class UserGroup {
    private Integer groupId;
    private String alias;
}

是的你可以。 但是您应该将列设置为只读。

@Data
@Entity
@Table(name = "es_user_groups")
public class UserGroup {
    @Id @Column(insertable=false, updateable=false)
    private Integer groupId;
    @Column(insertable=false, updateable=false)
    private String alias;
}

最干净的方法是使用投影,即 class 具有您想要获取并在存储库中使用它的字段,不需要额外的映射:

实体:

@Data
public class UserGroupDTO {
    private Integer groupId;
    private String alias;
}

存储库:

@Repository 
public interface UserGroupRepository extends Repository<UserGroup, Integer> {

    List<UserGroupDTO> findAll();

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM