快速 Hibernate 问题 - 如何使用 Hibernate 注释将此类定义为实体 -
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,因此我用 @GenerateValue
注释对其进行了标记。至于策略
,我指定了AUTO
,仅适合本地实验。对于生产级应用程序,您必须在 SEQUENCE
、IDENTITY
和 TABLE
之间进行选择。
关系映射
我假设您也将创建一个 DataStoreProvider
实体。在这种情况下,您可以按照上面的描述指定它们之间的关系。
引用
更多引用可以咨询this excellent book .
关于java - 子实体 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248809/