Member 13700491 Ответов: 0

Как сделать два первичных ключа в приложении hibernate ?


hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC

		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
		
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">veena_java.pass</property>
        <property name="hibernate.connection.url">jdbc:mysql://192.168.18.245:3306/veena_java</property>
        <property name="hibernate.connection.username">veena_java</property>
        <property name="hibernate.default_schema">veena_java</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hbm2ddl.auto">update</property>
            <mapping resource="com/hiber/Bean/User.hbm.xml"/>
             <mapping resource="com/hiber/Bean/Avatar.hbm.xml"/>
    </session-factory>
</hibernate-configuration>


User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated May 18, 2017 3:31:25 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.hiber.Bean.User" table="USERData">
        <id name="id" type="int">
            <column name="ID" />
            <generator class="increment" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="USERNAME" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
        <property name="email" type="java.lang.String">
            <column name="EMAIL" />
        </property>
        <property name="phone" type="java.lang.String">
            <column name="PHONE" />
        </property>
        <property name="city" type="java.lang.String">
            <column name="CITY" />
        </property>
    </class>
</hibernate-mapping>


User.java

package com.hiber.Bean;

public class User {
	private int id;
    public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	private String username,password,email,phone,city;
}


Что я уже пробовал:

Я хочу получить идентификатор и адрес электронной почты в качестве первичного ключа в таблице базы данных с помощью hibernate.А alse id-это поле autoincremnt.

Richard Deeming

Таблица не может иметь два первичных ключа. Вы пытались создать составной ключ вместо этого?
2.2.6. Сопоставление составного первичного и внешних ключей - Красная Шапочка поддержки портала[^]

0 Ответов