繁体   English   中英

子实体休眠

[英]hibernate for child entity

休眠快速问题-如何使用休眠注释将此类定义为实体-

public class NativeType {
  private long id;    
  private String name;
  private int maxPrecision;
  private byte maxScale;
  private DataStoreProvider provider;

链接为AbstractDataStoreProvider类中的Map集合-

public abstract class AbstractDataStoreProvider implements DataStoreProvider,
  Serializable{

  private Map<String, NativeType> uniqueNativeTypes;
  ..

public interface DataStoreProvider {

所以我可以像这样将其存储在数据库表中-

**datastore_provider**
provider_id  |  provider_name

**native_type**
native_type_id  |  name  |  max_precision  |  max_scale  |  provider_id

我认为是我,但我无法轻松浏览Hibernate规范。 Java新手,JPA + Hibernate新手。 赞赏指导!

代码样例

我认为您可以使用以下内容-

@Entity
@Table(name = "native_type")
public class NativeType {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "native_type_id")
    private Long id;

    private String name;

    @Column(name = "max_precision")
    private int maxPrecision;

    @Column(name = "max_scale")
    private byte maxScale;

    @ManyToOne
    @JoinColumn(name="provider_id")
    private DataStoreProvider provider; 

    // rest of the class (getter setter etc.)
}

ID生成

我假设您正在自动生成数据库ID,因此我用@GeneratedValue批注对其进行了标记。 至于strategy ,我指定了仅适用于本地实验的AUTO 对于生产级应用程序,您必须在SEQUENCEIDENTITYTABLE之间进行选择。

关系映射

我假设您也将创建一个DataStoreProvider实体。 在这种情况下,您可以如上所述指定它们之间的关系。

参考

有关更多参考,您可以查阅这本出色的书

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM