我有Post和Tag具有@manytomany 关系的模型。
邮政
@Entity
public class Post {
private long id;
@ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(joinColumns = @JoinColumn(name = "post_id"), inverseJoinColumns = @JoinColumn(name = "tag_id"))
private Set<Tag> tags;
...
}
Run Code Online (Sandbox Code Playgroud)
标签
@Entity
public class Tag {
private String name;
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "tags")
private List<Post> posts = new ArrayList<Post>();
Run Code Online (Sandbox Code Playgroud)
我想创建一个方法,通过标签名称查找所有分页的帖子。
我发现 JPQL 不支持LIMIT.
我是否必须使用 实现我自己的分页逻辑setFirstResult().setMaxResults().getResultList()?
@manytomany 分页的最佳做法是什么?
我稍微编辑了我的问题。我写了我的代码,如下所示:
@SuppressWarnings("unchecked") …Run Code Online (Sandbox Code Playgroud) 我正在尝试访问src/main/resources/XYZ/view文件夹中的xsd,其中我创建了XYZ/view文件夹,文件夹中有我需要的abc.xsd进行xml验证.
当我每次将结果作为null时尝试访问xsd时,
我试过了,
1)
@Value(value = "classpath:XYZ/view/abc.xsd")
private static Resource dataStructureXSD;
InputStream is = dataStructureXSD.getInputStream();
Source schemaSource = new StreamSource(is);
Schema schema = factory.newSchema(schemaSource);
Run Code Online (Sandbox Code Playgroud)
2)
Resource resource = new ClassPathResource("abc.xsd");
File file = resource.getFile();
Run Code Online (Sandbox Code Playgroud)
还有很多我为获取资源或类加载器等而创建的路径.
最后我得到了xsd,
File file = new File(new ClassPathResource("/ src/main/resources/XYZ/view/abc.xsd").getPath()); Schema schema = factory.newSchema(file);
它正在发挥作用,我想知道为什么其他两条路会出错或为什么它对我不起作用而对别人好.:(
还是有其他好方法可以做到这一点,我很遗憾