Hibernate 自定义复合类型的休眠列表
Joda Time没有本地时间间隔的概念,所以我做了一个:Hibernate 自定义复合类型的休眠列表,hibernate,Hibernate,Joda Time没有本地时间间隔的概念,所以我做了一个: public final class LocalInterval { private LocalTime start; private LocalTime end; .. 当然,我也支持Hibernate,将本地时间存储为两个属性,“开始”和“结束”: 在我的package-info.java类中,我映射了“LocalInterval”: 现在我只想在MyClass中有一个LocalInterval列表: @Collect
public final class LocalInterval
{
private LocalTime start;
private LocalTime end;
..
当然,我也支持Hibernate,将本地时间存储为两个属性,“开始”和“结束”:
在我的package-info.java类中,我映射了“LocalInterval”:
现在我只想在MyClass中有一个LocalInterval列表:
@CollectionOfElements(targetElement=LocalInterval.class)
List<LocalInterval> intervals;
这看起来不对——我不应该有两个时间列“开始”和“结束”,而不是一个时间列“元素”?显然,您必须明确指示休眠应该使用多个列:
@CollectionOfElements(targetElement=LocalInterval.class)
@Type(type="LocalInterval")
@Columns(columns={@Column(name="start"), @Column(name="end")})
List<LocalInterval> intervals;
@collectionFelements(targetElement=LocalInterval.class)
@类型(Type=“LocalInterval”)
@列(列={@Column(name=“start”),@Column(name=“end”)})
列出时间间隔;
我不知道为什么Hibernate不能通过查询PersistentLocalIntervalAsTime自动解决这个问题,或者至少抛出一个错误,而不是创建一个默认的单列。显然,您必须明确地向Hibernate指示应该使用多个列:
@CollectionOfElements(targetElement=LocalInterval.class)
@Type(type="LocalInterval")
@Columns(columns={@Column(name="start"), @Column(name="end")})
List<LocalInterval> intervals;
@collectionFelements(targetElement=LocalInterval.class)
@类型(Type=“LocalInterval”)
@列(列={@Column(name=“start”),@Column(name=“end”)})
列出时间间隔;
我不知道为什么Hibernate不能通过查询PersistentLocalIntervalAsTime自动解决这个问题——或者至少抛出一个错误,而不是创建一个默认的单列
@CollectionOfElements(targetElement=LocalInterval.class)
@Type(type="LocalInterval")
List<LocalInterval> intervals;
create table myclass_intervals (
element time,
myclass varchar(40) not null
) ENGINE=InnoDb;
@CollectionOfElements(targetElement=LocalInterval.class)
@Type(type="LocalInterval")
@Columns(columns={@Column(name="start"), @Column(name="end")})
List<LocalInterval> intervals;