我正在使用MS SQL server和jpa存储库。
我想连接2个表并获取前20列,我在实体类中使用了注释。
@Getter
@Setter
@ToString
@Entity
@Table(name = "TVSource")
public class MyTelevisionSource {
@Id
private Long SourceId;
@Column(columnDefinition = "nvarchar2 (2000)")
private String LongName;
@Column(columnDefinition = "nvarchar2 (2000)")
private String DisplayName;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "SourceId")
private RCMSource rcmSource;
}
@Getter
@Setter
@ToString
@Entity
@Table(name = "Source")
public class RCMSource {
@Id
private Long SourceId;
@Column(columnDefinition = "nvarchar2 (2000)")
private String SourceName;
}
@Service
public class TelevisionSourceService {
@Autowired
private TelevisionSourceRepository televisionSourceRepo;
public List<MyTelevisionSource> getTelevisionSource(){
Pageable pageable = PageRequest.of(0, 10);
Page<MyTelevisionSource> tvSource = televisionSourceRepo.findAll(pageable);
System.out.println(tvSource.getContent());
return tvSource.getContent();
}
public interface TelevisionSourceRepository extends JpaRepository<MyTelevisionSource, Long> {
Page<MyTelevisionSource> findAll(Pageable pageable);
}
Page<MyTelevisionSource> findAll(Pageable pageable);
原因:org.hibernate.hql.internal.ast.QuerySyntaxException:源未映射[SELECT s.sourceId,s.sourceName,t.TvSourceLongName FROM Source as s INNER JOIN TelevisionSource as t ON s.sourceId=t.sourceId]
不知道...为什么会给
您真的需要懒惰(OneToOne注释的fetchType.lazy
)吗?因此,您有1个主要查询检索您的电视源,然后有10个查询检索RCMSources。如果设置FetchType.Eager
,则它应该生成一个带有左联接的查询
问题内容: 我正在尝试使Hibernate @OneToOne注释正常工作,并且在这里没有太大的成功… 假设我有一个名为的表格,看起来像这样: 我有一个看起来像这样的实体: 还有一个类似的,另一个实体看起来像这样: 当我进行读取时,我希望它将返回带有的对象。相反,我得到一个AnnotationException:“引用的属性不是(One | Many)ToOne:mappedBy User.sta
我在使用模型映射器使用执行父子实体更新时遇到了一个问题。 描述如下 父类: 儿童班: 通过这种安排,我能够成功地创建和查询站点地址组合。但是,我在进行更新时遇到了一个问题。我正在尝试使用modelmapper语句更新站点或地址,如下所示: 期望在传入站点中更改的所有字段(即来自请求的站点)应替换站点中的现有字段。但是,我从modelmapper中得到一个Stackoverflow错误。 我们是否有
我有2个实体:Field和ViewOptions 省略与问题无关的字段和方法
我一直试图通过一个名为Guardian的中间类映射两个用户之间的一些“OneToOne”关系。当我试图检索一个用户(和他的监护人)时,从Glassfish(Open edition V4.0)返回一个内部服务器错误。但是,日志中没有显示任何类型的堆栈跟踪或任何错误。我怀疑问题是我在JPA类中的映射。 启动服务器时,我得到两个与Guardian类有关的警告,但我并不真正理解: 警告:映射到元素[me
问题内容: 假设我有个人 和工作 提取时,我无法将Person和Job映射到其他实体。 我在做什么错? 问题答案: 您的代码应为: (尝试从工作中删除重复的列’person_id’) 或其他共享主键的方法:
在mapper中,我调用了一个proc'xyz',它返回所查询的ProcessType表的行列表的光标。