当前位置: 首页 > 知识库问答 >
问题:

当我试图在hibernate中创建两个主键时,我被卡住了

向实
2023-03-14
public class Attendance  implements Serializable
{
    private Integer id,userId;
    private Date date;
    private  OfficeTime officeTime;
    private Set<TimeSlice> timeSlices;
    public Attendance()
    {

    }
}
 <hibernate-mapping>
          <class name="Attendance">
           <composite-id>
              <key-property name="id"><generator class="increment"/></key-property>
              <key-property name="date" />
          </composite-id>

          <property name="userId" />

          <set name="timeSlices" cascade="all" >
            <key column="attendanceId" />
            <one-to-many class="TimeSlice" />
          </set>

          <many-to-one name="officeTime" class="OfficeTime"
            column="office_id" unique="true" not-null="true"
            cascade="all" />

          </class>

          </hibernate-mapping>

共有1个答案

闻人博
2023-03-14

当前配置不遵循为composite-id元素设置的架构。下面是复合ID的模式文档:

<composite-id name="propertyName" class="ClassName" mapped="true|false" access="field|property|ClassName"> node="element-name|." <key-property name="propertyName" type="typename" column="column_name"/> <key-many-to-one name="propertyName class="ClassName" column="column_name"/> ...... </composite-id>

这是一个示例配置:

<composite-id>
            <key-many-to-one name="username" class="org.myclass.UserDB" column="user_name"/>
            <key-property name="role" type="string" column="role_name"/>
        </composite-id>      

这方面的文档如下:https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/mapping.html#mapping-declaration-compositeid

 类似资料:
  • 我面临这个问题已经有一段时间了,我必须每30分钟重新克隆我的项目,因为这个错误显示,不让我建立我的项目。 `失败:生成失败,出现异常。 > try:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的洞察力。 在https://help.gradle.org获得更多帮助 在6s中生成失败异常:Gradle

  • 例外情况: org.apache.tomcat.util.net.nioEndpoint$socketprocessor.dorun(NioEndpoint.java:1376)org.apache.tomcat.util.net.socketprocessorbase.run(Socketprocessorbase.java:49)java.base/java.util.concurrent.t

  • 我已经有以下CORS问题好几天了,我不打算解决它。localhost:4200上的Angular应用程序不允许我访问上传照片的路径。 我的后台在拉勒维尔 我可以登录、注册和执行其他帖子请求,但不能这样。 这是我的应用程序的图像。 这是我注册为全球中间件的CORS中间件] 网络选项卡中的响应标头 1

  • 我正在尝试动画图标在我的应用程序每当它是被点击。我实现了我想要的简单动画,但它总是动画一次后,我来到那个屏幕。我希望每次点击时,它都应该是动画,并且它应该顺时针旋转,持续时间为2秒,当再次按下时,它应该逆时针旋转,持续时间为2秒。请帮帮我 这里是代码的部分-

  • 'import { useState, useEffect } 来自 “react” 从 “axios” 导入公心;导入 “./components样式/GifContainerStyles.css” 导入 Gif 文本从 “./Gif 文本”导入 Gif 文本; 这是子组件 '从“反应”导入{useState, useEffects};从“axios”const GifInText=({gifI

  • 这是我的扑动医生总结 flutter doctor doctor摘要(要查看所有详细信息,请运行flutter Doctor-v):[√]flutter(通道稳定,1.22.3,Microsoft Windows[版本10.0.19041.572],区域设置en-KE)[√]Android toolchain-为Android设备开发(Android SDK版本30.0.2)[!]Android