Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将外键构建为主键并与联合键关联_Java_Hibernate - Fatal编程技术网

Java 如何将外键构建为主键并与联合键关联

Java 如何将外键构建为主键并与联合键关联,java,hibernate,Java,Hibernate,我有一个用户表,它有一个union key open_id,现在我想构建一个表 它需要一个与联合密钥关联的主键。 顺便说一下,我使用mysql5.6,open_id是varchar。 对不起,我的英语不是很好 CREATE TABLE click ( open_id varchar(11) NOT NULL, click_count int(11) NOT NULL DEFAULT '0', PRIMARY KEY (open_id), CONSTRAINT click_ibfk_1 F

我有一个用户表,它有一个union key open_id,现在我想构建一个表 它需要一个与联合密钥关联的主键。 顺便说一下,我使用mysql5.6,open_id是varchar。 对不起,我的英语不是很好

CREATE TABLE click ( 
open_id varchar(11) NOT NULL, 
click_count int(11) NOT NULL DEFAULT '0', 
PRIMARY KEY (open_id), 
CONSTRAINT click_ibfk_1 FOREIGN KEY (open_id) REFERENCES user_info (u_openid) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@实体 公共阶级圈子{

@Id @GeneratedValue
private int id;

@OneToMany(mappedBy = "circle") @JsonIgnore
private List<Enterprise> enterprises;

@OneToMany(mappedBy = "circle")
private List<Authority> authorities;

@Column(nullable = false, length = 50, columnDefinition = "varchar(50) default ''")
private String name;

public int getId() {
    return id;
}

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

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public List<Authority> getAuthorities() {
    return authorities;
}

public void setAuthorities(List<Authority> authorities) {
    this.authorities = authorities;
}

public List<Enterprise> getEnterprises() {
    return enterprises;
}

public void setEnterprises(List<Enterprise> enterprises) {
    this.enterprises = enterprises;
}

public Circle() {
}

public Circle(int id) {
    this.id = id;
}

public Circle(String name) {
    this.name = name;
}
@Id@GeneratedValue
私有int-id;
@OneToMany(mappedBy=“circle”)@JsonIgnore
民营上市企业;
@OneToMany(mappedBy=“circle”)
私人名单管理机构;
@列(nullable=false,length=50,columnDefinition=“varchar(50)default”“)
私有字符串名称;
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共机构名单(){
返回当局;
}
公共机构(列表机构){
这个.权威=权威;
}
公共企业名单(){
回归企业;
}
公共企业(上市企业){
这就是企业;
}
公众圈(){
}
公众圈(国际id){
this.id=id;
}
公共圈(字符串名称){
this.name=名称;
}
}

@实体 公营企业{

@Id @GeneratedValue
private int id;

@ManyToOne
private Circle circle;

@OneToMany(mappedBy = "enterprise", cascade = CascadeType.ALL)
private List<Creator> creators;

@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String name;

@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String createTime;

@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String category;

@Column(columnDefinition = "text") @Size(max = 500)
private String description;

/**
 * 联系人
 */
@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String contacter;

/**
 * 联系方式
 */
@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String contact;

/**
 * 成员规模
 */
@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String staffSize;

/**
 * 现阶段需求
 */
@Column(columnDefinition = "text")  @Size(max = 500)
private String demand;

/**
 * 公司性质
 */
@Column( columnDefinition = "text")  @Size(max = 500)
private String nature;

/**
 * 业务范围
 */
@Column(length = 50, columnDefinition = "varchar(50) default ''") @Size(max = 50)
private String scope;

@Column(columnDefinition = "text")
private String img1 = "";

@Column(columnDefinition = "text")
private String img2 = "";

@Column(columnDefinition = "text")
private String img3 = "";

@Column(columnDefinition = "text")
private String img4 = "";

@Column(columnDefinition = "text")
private String img5 = "";

public String getImg1() {
    return img1;
}

public void setImg1(String img1) {
    this.img1 = img1;
}

public String getImg2() {
    return img2;
}

public void setImg2(String img2) {
    this.img2 = img2;
}

public String getImg3() {
    return img3;
}

public void setImg3(String img3) {
    this.img3 = img3;
}

public String getImg4() {
    return img4;
}

public void setImg4(String img4) {
    this.img4 = img4;
}

public String getImg5() {
    return img5;
}

public void setImg5(String img5) {
    this.img5 = img5;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getCreateTime() {
    return createTime;
}

public void setCreateTime(String createTime) {
    this.createTime = createTime;
}

public String getCategory() {
    return category;
}

public void setCategory(String category) {
    this.category = category;
}

public String getDescription() {
    return description;
}

public void setDescription(String description) {
    this.description = description;
}

public String getContacter() {
    return contacter;
}

public void setContacter(String contacter) {
    this.contacter = contacter;
}

public String getContact() {
    return contact;
}

public void setContact(String contact) {
    this.contact = contact;
}

public String getStaffSize() {
    return staffSize;
}

public void setStaffSize(String staffSize) {
    this.staffSize = staffSize;
}

public String getDemand() {
    return demand;
}

public void setDemand(String demand) {
    this.demand = demand;
}

public String getNature() {
    return nature;
}

public void setNature(String nature) {
    this.nature = nature;
}

public String getScope() {
    return scope;
}

public void setScope(String scope) {
    this.scope = scope;
}

public int getId() {
    return id;
}

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

public List<Creator> getCreators() {
    return creators;
}

public void setCreators(List<Creator> creators) {
    this.creators = creators;
}

public Circle getCircle() {
    return circle;
}

public void setCircle(Circle circle) {
    this.circle = circle;
}
@Id@GeneratedValue
私有int-id;
@许多酮
私人圈子;
@OneToMany(mappedBy=“enterprise”,cascade=CascadeType.ALL)
私人名单创造者;
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私有字符串名称;
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私有字符串创建时间;
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私有字符串类别;
@列(columnDefinition=“text”)@Size(最大值=500)
私有字符串描述;
/**
* 联系人
*/
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
专用串接触器;
/**
* 联系方式
*/
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私人字符串联系人;
/**
* 成员规模
*/
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私有字符串staffSize;
/**
* 现阶段需求
*/
@列(columnDefinition=“text”)@Size(最大值=500)
私人字符串需求;
/**
* 公司性质
*/
@列(columnDefinition=“text”)@Size(最大值=500)
私有字符串性质;
/**
* 业务范围
*/
@列(长度=50,columnDefinition=“varchar(50)默认值“””)@Size(最大值=50)
私有字符串范围;
@列(columnDefinition=“text”)
私有字符串img1=“”;
@列(columnDefinition=“text”)
私有字符串img2=“”;
@列(columnDefinition=“text”)
私有字符串img3=“”;
@列(columnDefinition=“text”)
私有字符串img4=“”;
@列(columnDefinition=“text”)
私有字符串img5=“”;
公共字符串getImg1(){
返回img1;
}
公共无效设置img1(字符串img1){
this.img1=img1;
}
公共字符串getImg2(){
返回img2;
}
公共无效集合img2(字符串img2){
this.img2=img2;
}
公共字符串getImg3(){
返回img3;
}
公共无效设置img3(字符串img3){
这一点。img3=img3;
}
公共字符串getImg4(){
返回img4;
}
公共无效设置img4(字符串img4){
this.img4=img4;
}
公共字符串getImg5(){
返回img5;
}
公共无效设置img5(字符串img5){
this.img5=img5;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getCreateTime(){
返回创建时间;
}
公共void setCreateTime(字符串createTime){
this.createTime=createTime;
}
公共字符串getCategory(){
退货类别;
}
公共无效集合类别(字符串类别){
this.category=类别;
}
公共字符串getDescription(){
返回说明;
}
公共void集合描述(字符串描述){
this.description=描述;
}
公共字符串getContacter(){
回路接触器;
}
公用接触器(串接触器){
这个。接触器=接触器;
}
公共字符串getContact(){
回接;
}
公共无效设置联系人(字符串联系人){
this.contact=contact;
}
公共字符串getStaffSize(){
返回员工人数;
}
public void setStaffSize(字符串staffSize){
this.staffSize=staffSize;
}
公共字符串getDemand(){
回报需求;
}
公共无效设置请求(字符串请求){
这个.需求=需求;
}
公共字符串getNature(){
回归自然;
}
公共void setNature(字符串性质){
这就是自然;
}
公共字符串getScope(){
返回范围;
}
公共无效设置范围(字符串范围){
this.scope=范围;
}
公共int getId(){
返回id;
}
公共无效集合id(内部id){
this.id=id;
}
公共列表getCreators(){
回报创造者;
}
公共void集合创建者(列表创建者){
这个。创造者=创造者;
}
公众圈{
返回圈;
}
公共无效设置圆(圆){
这个圆=圆;
}

}

而且open\u id不是主键。如果你的英语不太好(我也是),请给出代码。代码是国际化的。创建表单击open\u idvarchar(11)非空,单击计数int(11)非空默认值“0”,主键(open\u id),约束单击ibfk\u 1外键(open\u id)引用用户信息ENGINE=InnoDB默认字符集=utf8;这就是我想要的当你标记“hibernate”和“java”时为什么不是java代码?我不明白程序的顺序有什么问题?你的问题和hibernate有什么关系?