小编Den*_*zov的帖子

Java - Hibernate criteria.setResultTransformer()使用默认值初始化模型字段

我是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)

java hibernate hibernate-criteria map-projections

13
推荐指数
1
解决办法
3万
查看次数

不同类的成员函数指针的C++映射

我正在尝试创建一个包含不同类的成员函数指针的映射.成员函数都具有相同的签名.为了做到这一点,我的所有类都继承了一个Object类,该类只有默认构造函数,虚拟析构函数和虚拟ToString()const方法.

// The map looks like this
map<Object*, void (Object::*)()> mapOfMethodPointers;

// And here are the two classes that inherit Object
// Class A
class A : public Object
{
public:
    void AFunc();

    string ToString() const override;
};

void A::AFunc()
{
    cout << "AFunc()" << endl;
}

string A::ToString() const
{
    cout << "A" << endl;
}

// Class B
class B : public Object
{
public:
    void BFunc();

    string ToString() const override;
}

void B::BFunc()
{
    cout << "BFunc()" …
Run Code Online (Sandbox Code Playgroud)

c++ member-function-pointers

1
推荐指数
1
解决办法
1105
查看次数