Skip to content

Instantly share code, notes, and snippets.

@debop
Created September 28, 2013 06:53
Show Gist options
  • Save debop/6739291 to your computer and use it in GitHub Desktop.
Save debop/6739291 to your computer and use it in GitHub Desktop.
package kr.hconnect.data.test.mapping.usertype;
import kr.hconnect.data.model.DateTimeRange;
import kr.hconnect.data.model.EntityBase;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Columns;
import org.hibernate.annotations.Type;
import org.joda.time.DateTime;
import javax.persistence.*;
/**
* kr.hconnect.data.test.mapping.usertype.JodaDateTimeEntity
*
* @author 배성혁 [email protected]
* @since 13. 7. 2. 오후 9:55
*/
@Entity
@Getter
@Setter
public class JodaDateTimeEntity extends EntityBase {
@Id
@GeneratedValue
private Long id;
@Column(name = "JodaStart")
@Type(type = "kr.hconnect.data.hibernate.usertype.JodaDateTimeUserType")
private DateTime start;
@Column(name = "JodaEnd")
@Type(type = "kr.hconnect.data.hibernate.usertype.JodaDateTimeUserType")
private DateTime end;
@Columns(columns = { @Column(name = "startTime"), @Column(name = "startTimeZone") })
@Type(type = "kr.hconnect.data.hibernate.usertype.JodaDateTimeTZUserType")
private DateTime startTZ;
@Columns(columns = { @Column(name = "endTime"), @Column(name = "endTimeZone") })
@Type(type = "kr.hconnect.data.hibernate.usertype.JodaDateTimeTZUserType")
private DateTime endTZ;
// 복합 수형인 경우 컬럼들을 명시해줘야 합니다.
//
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "startTime",
column = @Column(name = "rangeStart1")),
@AttributeOverride(name = "endTime",
column = @Column(name = "rangeEnd1"))
})
private DateTimeRange range1;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "startTime",
column = @Column(name = "rangeStart2")),
@AttributeOverride(name = "endTime",
column = @Column(name = "rangeEnd2"))
})
private DateTimeRange range2;
private static final long serialVersionUID = -1636595656626680292L;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment