Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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 Hibernate批注-无法映射日期_Java_Spring_Hibernate_Pojo - Fatal编程技术网

Java Hibernate批注-无法映射日期

Java Hibernate批注-无法映射日期,java,spring,hibernate,pojo,Java,Spring,Hibernate,Pojo,我有个问题。我花了一个多小时在网上搜索,但什么也没找到。。。。 我有一个简单的表类,它的元素之一是List of java.util.Date。当我运行程序时,会显示异常: > org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany > targeting an unmapped class: > com.model.Time.timetable[java.util.Date]. 我的配置

我有个问题。我花了一个多小时在网上搜索,但什么也没找到。。。。 我有一个简单的表类,它的元素之一是List of java.util.Date。当我运行程序时,会显示异常:

> org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany
> targeting an unmapped class:    
> com.model.Time.timetable[java.util.Date].
我的配置文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.connection.driver_class">
            com.mysql.jdbc.Driver
        </property>

        <!-- Assume test is the database name -->
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost:3036/test
        </property>
        <property name="hibernate.connection.username">
            root
        </property>

        <property name="hbm2ddl.auto">create</property>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <mapping class="com.model.Cinema" />
        <mapping class="com.model.Time" />

    </session-factory>
</hibernate-configuration>

org.hibernate.dialogue.mysqldialogue
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3036/test
根
创造
假的
org.hibernate.dialogue.mysqldialogue
真的
我的班级:

package com.model;

import static javax.persistence.GenerationType.IDENTITY;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import info.talacha.filmweb.models.Movie;



@Entity
@Table(name = "Time")
public class Time implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    private int id;

    @OneToMany(cascade = CascadeType.ALL)
    @JoinColumn(name = "time_id")
    private List<Date> timetable;

    @Column(name = "movie")
    private Movie movie;

    @Column(name = "dubbing")
    private boolean dubbing;

    @Column(name = "subtitles")
    private boolean subtitles;

    @Column(name = "threeDimensions")
    private boolean threeDimensions;



    public Time(){
        timetable = new ArrayList<Date>();
        dubbing= false;
        subtitles = false;
        threeDimensions = false;
        movie = new Movie();
    }



    public Time(int id, List<Date> timetable, Movie movie, boolean dubbing, boolean subtitles, boolean is3dMovie) {
        super();
        this.id = id;
        this.timetable = timetable;
        this.movie = movie;
        this.dubbing = dubbing;
        this.subtitles = subtitles;
        threeDimensions = is3dMovie;
    }



    public boolean isThreeDimensions() {
        return threeDimensions;
    }



    public void setThreeDimensions(boolean threeDimensions) {
        this.threeDimensions = threeDimensions;
    }



    public int getId() {
        return id;
    }



    public void setId(int id) {
        this.id = id;
    }


    public Movie getMovie() {
        return movie;
    }



    public void setMovie(Movie movie) {
        this.movie = movie;
    }


    public Time(List<Date> timetable, Movie movie,boolean dubbing, boolean subtitles,boolean is3D) {
        this.timetable = timetable;
        this.dubbing = dubbing;
        this.subtitles = subtitles;
        this.movie = movie;
        this.threeDimensions = is3D;
    }

    public List<Date> getTimetable() {
        return timetable;
    }

    public void setTimetable(List<Date> timetable) {
        this.timetable = timetable;
    }

    public boolean isDubbing() {
        return dubbing;
    }

    public void setDubbing(boolean dubbing) {
        this.dubbing = dubbing;
    }

    public boolean isSubtitles() {
        return subtitles;
    }

    public void setSubtitles(boolean subtitles) {
        this.subtitles = subtitles;
    }


    @Override
    public String toString() {
        return "Time [timetable=" + timetable + ", movie=" + movie + ", dubbing=" + dubbing + ", subtitles="
                + subtitles + ", is3DMovie=" + threeDimensions + "]";
    }




}
package.com.model;
导入静态javax.persistence.GenerationType.IDENTITY;
导入java.io.Serializable;
导入java.util.ArrayList;
导入java.util.Date;
导入java.util.List;
导入javax.persistence.CascadeType;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入javax.persistence.FetchType;
导入javax.persistence.GeneratedValue;
导入javax.persistence.Id;
导入javax.persistence.JoinColumn;
导入javax.persistence.OneToMany;
导入javax.persistence.Table;
导入javax.persistence.Temporal;
导入javax.persistence.TemporalType;
导入info.talacha.filmweb.models.Movie;
@实体
@表(name=“Time”)
公共类时间实现可序列化{
/**
* 
*/
私有静态最终长serialVersionUID=1L;
@身份证
@生成值(策略=标识)
@列(name=“id”,unique=true,nullable=false)
私有int-id;
@OneToMany(级联=级联类型.ALL)
@JoinColumn(name=“time\u id”)
私人名单时间表;
@列(name=“movie”)
私人电影;
@列(name=“配音”)
私有布尔配音;
@列(name=“subtitles”)
私有布尔字幕;
@列(名称=“三维”)
私有布尔三维;
公共时间(){
时间表=新的ArrayList();
配音=假;
字幕=假;
三维=假;
电影=新电影();
}
公共时间(int id、列表时间表、电影、布尔配音、布尔字幕、布尔IS3DMONIVE){
超级();
this.id=id;
这个.时间表=时间表;
这部电影=电影;
this.dubbing=配音;
this.subtitles=字幕;
三维=三维电影;
}
公共布尔值isThreeDimensions(){
回归三维;
}
公共空间集合三维(布尔三维){
这个。三维=三维;
}
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
公共电影{
回归电影;
}
公共电影(电影){
这部电影=电影;
}
公共时间(列表时间表、电影、布尔配音、布尔字幕、布尔is3D){
这个.时间表=时间表;
this.dubbing=配音;
this.subtitles=字幕;
这部电影=电影;
这个.三维=是三维的;
}
公共列表getTimetable(){
返回时间表;
}
公共交通时刻表(列表时刻表){
这个.时间表=时间表;
}
公共布尔isDubbing(){
返回配音;
}
公共无效集复制(布尔复制){
this.dubbing=配音;
}
公共布尔值isSubtitles(){
返回字幕;
}
公共无效集合子标题(布尔子标题){
this.subtitles=字幕;
}
@凌驾
公共字符串toString(){
return“Time[timeline=“+timeline+”,movie=“+movie+”,dubbing=“+dubbing+”,subtitles=”
+字幕+”,IS3DMONIVE=“+三维+”];
}
}

这种映射方式(oneToMany)在我将其用于不同类型时非常有效。。。我不知道怎么了。我试了几次,但都没用。我将感谢你的帮助

尝试java.sql.Date中的Date Attribute来定义Time类的每个日期属性


再见。

OneToMany用于创建两个实体之间的关联
java.util.Date
不是一个实体。这是一种基本类型。您需要的是。

尝试使用@Temporal注释,如下所示:

@Temporal(value = TemporalType.TIMESTAMP)
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "time_id")
private List<Date> timetable;
@Temporal(value=TemporalType.TIMESTAMP)
@OneToMany(级联=级联类型.ALL)
@JoinColumn(name=“time\u id”)
私人名单时间表;