package org.frbr.datamodel;

import java.sql.*;
import java.util.*;
import java.lang.reflect.Constructor;
import org.apache.commons.logging.*;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.JoinTable;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Inheritance;
import javax.sql.DataSource;


/**
 * Title:       Group1Object
 * Copyright:   
 * @author:     Ian Ibbotson
 * Company:     Knowledge Integration Ltd
 * Description:
 */
@Entity
@DiscriminatorColumn(name = "OBJ_TYPE", discriminatorType = DiscriminatorType.STRING)
@Table(name="FRBR_GROUP1_OBJECT")
@Inheritance(strategy=javax.persistence.InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("PARENT")
@org.hibernate.annotations.ForceDiscriminator
public abstract class Group1Object {

  /** The <code>Log</code> instance for this application.  */
  protected static Log log = LogFactory.getLog(Group1Object.class);

  private Long id;
  private String title;

  public Group1Object() {
  }

  public Group1Object(String title) {
    this.title = title;
  }

  @Id
  @Column(name="ID")
  @GeneratedValue(strategy=GenerationType.AUTO)
  public Long getId() {
    return id;
  }

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

  @Column(name="TITLE",length=255)
  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }
}
