我正在一个项目中工作,在该项目中,我有一个由其他团队公开的数据库表的视图,其他团队也正在使用该视图。 我在项目中使用spring数据jpa。
向我们公开的视图没有主键。
如果没有主键,应该如何声明我的ViewRepository接口。
我有一个包含许多值的视图,并且按如下方式创建了实体
package com.mf.acrs.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name="mv_garage_master")
public class GarageMaster {
@Column(name="GARAGE_CODE")
private String garageCode;
@Column(name="GARAGE_NAME")
private String garageName;
@Column(name="GARAGE_BRANCH")
private String garageBranch;
}
存储库界面如下:
package com.mf.acrs.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.mf.acrs.model.GarageMaster;
@Repository
public interface GarageMasterRepository extends JpaRepository<GarageMaster,ID>{
}
我的问题是,在上述界面的 ID 中应该输入什么值。
答案 0 :(得分:1)
因此,Entity,JPA和Spring Data需要您具有ID,这就是查找或更新实体的方式。
[更新] @tintin如果根据您的评论车库代码是唯一的,则可以这样实现:
@Entity
@Table(name="mv_garage_master")
public class GarageMaster implements Serializable {
@Id
@Column(name="GARAGE_CODE")
private String garageCode;
@Column(name="GARAGE_NAME")
private String garageName;
@Column(name="GARAGE_BRANCH")
private String garageBranch;
}
还有存储库:
@Repository
public interface GarageMasterRepository extends JpaRepository<GarageMaster,String>{
}