Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 映射对象休眠_Java_Sql_Hibernate_Jpa_Mapping - Fatal编程技术网

Java 映射对象休眠

Java 映射对象休眠,java,sql,hibernate,jpa,mapping,Java,Sql,Hibernate,Jpa,Mapping,我正试图在我的项目中插入hibernate,但映射有问题。 我的数据库包含: -id->int -问题->瓦尔查尔 -结果->varchar -id_左->整数 -id_right->int 这里是我的bean的代码 @Entity @Table (name = "node") public class Nodes { @Id @GeneratedValue (strategy = GenerationType.IDENTITY) @Column(name="id")

我正试图在我的项目中插入hibernate,但映射有问题。 我的数据库包含: -id->int -问题->瓦尔查尔 -结果->varchar -id_左->整数 -id_right->int

这里是我的bean的代码

@Entity
@Table (name = "node")
public class Nodes
{
    @Id
    @GeneratedValue (strategy = GenerationType.IDENTITY)
    @Column(name="id")
    private int id;

    @Column (name = "question")
    private String question;

    @Column ( name = "result")
    private String result;

    @OneToOne(fetch= FetchType.LAZY)
    private Nodes left;

    @OneToOne(fetch= FetchType.LAZY)
    private Nodes right;   

    public Nodes(int id, String question, String result, Nodes left, Nodes right)
    {
           this.id=id;
           this.question=question;
           this.result=result;
           this.left=left;
           this.right=right;
    }

    public Nodes()
    {

    }

        public Nodes getLeftNodes()
    {
        return left;
    }

    public void setLeftNodes(Nodes left)
    {
        this.left=left;
    }

    public Nodes getRightNodes()
    {
        return right;
    }

    public void setRifhtNodes(Nodes right)
    {
        this.right=right;
    }
这里是my Nodes.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="beans.Nodes" table="node">
        <id name="id" type="int" access="field">
            <column name="id" />
            <generator class="assigned" />
        </id>
        <property name="question" type="java.lang.String">
            <column name="question" />
        </property>
        <property name="result" type="java.lang.String">
            <column name="result" />
        </property>
        <one-to-one name="left" class="beans.Nodes" access="field"></one-to-one>
        <one-to-one name="right" class="beans.Nodes" access="field"></one-to-one>
    </class>
</hibernate-mapping>
我知道应用程序出现故障,因为在我的数据库中我没有左/右\u id。但是我如何告诉程序id左/右对应于左/右两项,从而成为我的请求

Call: SELECT id, question, result, id_left, id_right FROM node

尝试使用映射而不是。可以在<多对一>中指定外键列。 e、 g

Call: SELECT id, question, result, LEFT_id, RIGHT_id FROM node
Query: ReadAllQuery(referenceClass=Nodes sql="SELECT id, question, result, LEFT_id, RIGHT_id FROM node")
Call: SELECT id, question, result, id_left, id_right FROM node