2016-05-19 5 views
0

У меня есть три таблицы: po_dtl и workbook_types. Каждая строка заказа на поставку (po_dtl) будет иметь столбец «workbook_code» для ссылки на workbook_types. В принципе, po_dtl.workbook_code - это только код поиска для workbook_types.workbook_code.Обозначение Hibernate для столбца поиска

Упрощенный класс Ява

@Entity 
@Table(name="po_dtl") 
public class PurchaseOrderDtl { 
    @Id 
    @Column(name = "po_dtl_id") 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "po_dtl_s") 
    @SequenceGenerator(name = "po_dtl_s", sequenceName = "po_dtl_s", allocationSize = 1, initialValue = 1) 
    private long id; 

    @Column(name = "price_base", length = 7) 
    private int priceBase; 

    // ??? What is the annotation for workbook_Types? 
    private WorkbookType workbookType; 

    .... 
} 

Хотя workbook_types

@Entity 
@Table(name = "workbook_types") 
public class WorkbookType { 

    @Id 
    @Column(name = "workbook_code") 
    private String workbookCode; 

    @Column(name = "description", length = 255) 
    private String description; 

    @Column(name = "file_root_path", length = 255) 
    private String fileRootPath; 
    .... 
} 

Что я ussualy использовать (без спящего режима) является:

  • workbook_types.workbook_code содержит строку "wbook_finance" , "wbook_marketing"
  • каждая po_dtl.workbook_code будет содержит «wbook_finance» или « wbook_marketing»
  • workbook_types будет только содержит 2 строки с уникальным workbook_code, в то время как po_dtl будет содержит множество строк, но каждая строка должна содержит только «wbook_finance» или «wbook_marketing»

Благодаря

+0

Попробуйте следовать инструкциям в этой ссылке -> http://stackoverflow.com/questions/18704474/annotations-for-hibernate-lookup-table-type –

+0

Проверьте вопрос , невозможно понять, что вы хотите =) У получили 2 или 3 таблицы? order_detail или po_dtl? – Vovka

+0

@Vovka извините, должно быть 2 таблицы: po_dtl и workbook_types – Timothy

ответ

0

Как я понимаю ваш вопрос, вам нужно @ManyToOne Или использовать перечисление при добавлении нового workbook_type-й только на стадии разработки.

@Entity 
class Country { //Country Dictionary 

} 

@Entity 
class User { 
    @ManyToOne 
    private Country country; 
} 

см How to design tables for data dictionary when using hibernate?

Смежные вопросы