我对Hibernate的预测和标准有点困惑.何时使用预测以及何时使用标准?
请帮我.谢谢!
我是Hibernate的新手,我正试图从数据库中获取一些数据.我不想获得完整的数据,而是实体的投影.
问题是在for循环中,当我得到我的投影的id和名称时,它得到默认值id = 0和name = null而不是id = 7和name ="Name 8"这是记录的数据库中的原始实体.你知道导致这个问题的原因吗?for循环在最后一个代码中.
这是学生实体
@Entity(name = "Students")
public class Student {
@Id
@GeneratedValue
@Column(name = "StudentId")
private int id;
@Column(name = "Name", nullable = false, length = 50)
private String name;
@Column(name = "Grade")
private Double grade = null;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "FacultyId", nullable = false)
private Faculty faculty;
@ManyToMany(cascade = CascadeType.PERSIST)
@JoinTable(
joinColumns = @JoinColumn(name = "StudentId"),
inverseJoinColumns = @JoinColumn(name = "CourseId"))
private Collection<Course> courses;
public Student() {
this.courses = …Run Code Online (Sandbox Code Playgroud) 我在 Wildfly 10.1.0-Final 上使用带有 Java 8 和 Hibernate (5.0.X) 的 Java EE 7,我需要使用投影将 JPQL 查询结果加载到 DTO 中,但我找不到任何有关如何执行此操作的文档也加载子集合 DTO。
例如,如果我有以下用户、角色和权限实体:
@Entity
public class User
{
@Id
private long id;
private String userName;
private String firstName;
private String lastName;
private JobTitle jobTitle;
private Email email;
private boolean isRemote;
@ManyToMany
private Set<Tag> tags;
@ManyToMany
// @JoinColumn definitions...
private Set<Role> roles;
// getters/setters...
}
@Entity
public class Role
{
@Id
private long id;
private String name;
private String description;
@ManyToMany
// @JoinColumn definitions...
private …Run Code Online (Sandbox Code Playgroud)