休眠注释存在一些问题。我在这里有一些计划:
feature_map
module_name
(PK)(FK m_module_fk
)feature_code
(PK)(FK m_feature_fk
)module_name
(PK)feature_code
(PK)我从休眠和其他站点尝试了几种方法,但是没有用。谁能帮我这个忙吗?
抱歉,我没有告诉您所有代码。我的意思是,我要求您提供自己的代码来将其生成为休眠注释代码。对不起,这是我的错误。我有正确的一个,我昨晚找到了。CMIIW。
下面是我的代码:
FeatureMap.class
@Entity
@Table(name = "M_FEATURE_MAP")
@IdClass(FeatureMapPk.class)
public class FeatureMap implements Serializable {
@Id
@Column(name = "module_name")
private String moduleName;
@Id
@Column(name = "feature_code")
private String featureCode;
@MapsId("moduleName")
@OneToOne
@JoinColumn(name = "module_name", referencedColumnName = "module_name",
insertable = false, updatable = false)
private Module module;
@MapsId("featureCode")
@OneToOne
@JoinColumn(name = "feature_code", referencedColumnName = "feature_code",
insertable = false, updatable = false)
private Feature feature;
/*Getter Setter, hash equals and toString*/
}
FeatureMapPk.class
public class FeatureMapPk implements Serializable {
private String moduleName;
private String featureCode;
public FeatureMapPk(){
}
public FeatureMapPk(String moduleName, String featureCode){
this.moduleName = moduleName;
this.featureCode = featureCode;
}
/*Getter Setter, hash equals and toString*/
}
模块类
@Entity
@Table(name = "M_MODULE")
public class Module implements Serializable {
@Id
@Column(name = "module_name")
private String moduleName;
@JsonIgnore
@OneToOne(fetch = FetchType.LAZY, mappedBy = "module")
private FeatureMap featureMap;
/*Getter Setter, hash equals and toString*/
}
要素类
@Entity
@Table(name = "M_FEATURE")
public class Feature implements Serializable {
@Id
@Column(name = "feature_code")
private String featureCode;
@JsonIgnore
@OneToOne(fetch = FetchType.LAZY, mappedBy = "feature")
private FeatureMap featureMap;
/*Getter Setter, hash equals and toString*/
}
非常感谢您的回答:)很抱歉,这是我的错误。
在没有看到您的代码的情况下,我们如何能真正提供帮助,您尝试过的几种方法以及实际的模式而不仅仅是主键。
但是,您很可能对复合键不感兴趣,而是对模块和功能中的简单OneToMany或ManyToMany映射感兴趣,而对于FeatureMap没有实体。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句